Kill
如何中斷watch命令?
我有一個將一些資訊列印到標準輸出的程序,我像這樣執行它:
watch -n 0.1 myprogram
我的問題是我需要
myprogram
乾淨地退出,呼叫適當的解構子來釋放系統範圍的互斥鎖。如果我按CTRL
+C
,則將watch
被殺死並且myprogram
沒有機會乾淨地退出。有沒有辦法
watch
乾淨地退出,以便在返回之前等待子程序完成?該
man
頁面簡單地說:手錶會一直執行直到被打斷
關於您問題的第一部分“有沒有辦法乾淨地退出手錶? ”,是的,您可以通過發送信號來停止程序。
首先,您需要找出正在執行的程序 ID (PID)
watch
。您可以按名稱執行此操作:pidof watch
或按使用者以及如何查看 Unix/linux 中特定使用者創建的程序
ps -u ${USER} | grep -i watch | cut -d " " -f 1
kill -IT ${PID} kill -INT $(pidof watch)
你問題的第二部分更多的是關於處理信號。