Kami memiliki skrip yang berjalan di server web kami, dipicu oleh tindakan pelanggan, yang memulai proses unix untuk menghasilkan beberapa file cache. Karena proses ini bertindak atas file yang disediakan oleh pelanggan kami, kadang-kadang terjadi kesalahan, berjalan sangat lama sehingga proses PHP yang memunculkannya habis atau menggunakan begitu banyak waktu CPU sehingga sysadmin akan membunuhnya.
Apakah ada perintah yang bisa saya jalankan yang akan membatasi waktu CPU / runtime proses? Saya mencari perintah seperti /usr/bin/time
, di mana saya bisa menjalankan perintah itu dan memberikannya baris perintah yang saya ingin jalankan dan batasi.
setrlimit
dan saya memunculkannya melalui PHP jadi saya tidak memiliki shell ...time php /cgi/foo.php
, Anda dapat menggunakanbash -c 'ulimit -t 42; exec "$0" "$@"' php /cgi/foo.php
.Anda juga dapat menggunakan
timeout
perintah untuk memblokir proses agar tidak lebih lama dari jumlah waktu yang ditentukan.contoh
Lihat halaman manual batas waktu untuk perincian lebih lanjut.
sumber