Nếu và Làm thế nào để có thể Terminal
, để ứng dụng chạy trong 30 giây, trước khi bị buộc đóng và lặp lại nhật ký của quá trình đó?
Nếu và Làm thế nào để có thể Terminal
, để ứng dụng chạy trong 30 giây, trước khi bị buộc đóng và lặp lại nhật ký của quá trình đó?
Câu trả lời:
Bạn có thể muốn sử dụng lệnh hết thời gian .
timeout -k 10s 30s command
Nó sẽ chạy lệnh trong 30 giây và giết nó sau 10 giây nếu vẫn chạy. - Kiểm tra trang chủ để có thêm tùy chọn.
watch
tấn công tôi như một lệnh rất thú vị. Có thể có ích ...
Dưới đây là hai cách (nhưng timeout
lệnh được đề xuất bởi mcantsin có lẽ tốt hơn):
Khởi chạy lệnh trong nền, theo cách đó, PID của nó được lưu vào $!
và bạn có thể sử dụng lệnh đó để giết nó sau thời gian đã chỉ định:
command &
sleep 30 && kill $!
Khởi chạy lệnh và sử dụng pkill
hoặc killall
để giết nó. THẬN TRỌNG: Điều này giả sử rằng chỉ có một lệnh có tên đó đang chạy, tôi đang sử dụng firefox
làm ví dụ:
firefox &
sleep 30 && pkill firefox
Tôi không biết ý của bạn là "nhật ký của quá trình đó" nhưng lỗi tiêu chuẩn của quy trình có thể được lưu vào một tệp command 2> logfile.txt
.