2013-06-20 25 views
1

我想從腳本運行一個進程並使用PID從另一個腳本中殺死它。我可以想到兩件事情,但我認爲你可以幫助我更有效地做到這一點。第一個是將PID存儲在臨時文件中,並從另一個腳本中讀取它。另一種方法是將其作爲第一個腳本的環境變量保存並由其他腳本使用。我很確定有這樣做的更好方法。我用killall和pkill通過進程名殺死進程。但是,這並不是很好。我想用PID來殺死它。從腳本運行一個進程,並使用PID從另一個腳本中殺死它

回答

1

我會建議使用你提到的第一種方法。使用進程信息創建臨時.pid文件是一種非常常見的跟蹤正在運行的進程的PID的方法。在大多數語言中很容易,而且非常簡單。

第二個可能會產生一個問題,因爲根據您使用的shell,該環境變量可能很難確保它是全局性的而未被觸及。

+1

我同意。當父進程運行腳本時,該腳本以環境的全新副本開始。當它更改環境變量時,父進程將不會看到更改。 – user829755

0

創建PID或.lck文件始終是最佳做法。您是標識符的所有者以及腳本,因此您可以計劃防止其他問題蔓延,例如另一個用戶嘗試啓動相同的應用程序。

相關問題