Jika dan Bagaimana mungkin, dalam Terminal, untuk mendapatkan aplikasi untuk berjalan selama 30 detik, sebelum ditutup paksa, dan menggemakan log dari proses itu?
Jika dan Bagaimana mungkin, dalam Terminal, untuk mendapatkan aplikasi untuk berjalan selama 30 detik, sebelum ditutup paksa, dan menggemakan log dari proses itu?
Jawaban:
Anda mungkin ingin menggunakan perintah batas waktu .
timeout -k 10s 30s command
yang akan menjalankan perintah selama 30-an dan membunuhnya setelah 10-an jika masih berjalan. - Periksa halaman manual untuk opsi lainnya.
watchsaya perintah yang sangat menarik. Bisa berguna ...
Berikut adalah dua cara (tetapi timeoutperintah yang disarankan oleh mcantsin mungkin lebih baik):
Luncurkan perintah di latar belakang, dengan cara itu PID disimpan $!dan Anda dapat menggunakannya untuk membunuhnya setelah waktu yang ditentukan:
command &
sleep 30 && kill $!Luncurkan perintah dan gunakan pkillatau killalluntuk membunuhnya. PERHATIAN: Ini mengasumsikan bahwa hanya satu perintah dengan nama yang berjalan, saya menggunakan firefoxsebagai contoh:
firefox &
sleep 30 && pkill firefoxSaya tidak tahu apa yang Anda maksud dengan "log proses itu" tetapi kesalahan standar suatu proses dapat disimpan ke file dengan command 2> logfile.txt.