簡體   English   中英

從另一個腳本運行bash腳本,並在第二個腳本運行時退出第一個腳本

[英]Run bash script from another script and exit first script while second is running

第一個bash腳本是:

./second #takes too long

我想殺第一個bash腳本,而第二個bash腳本仍在運行。

我能這樣做嗎?

UPDATE

第一個腳本由cronjob運行!

如果第一個腳本的最后一件事是調用第二個腳本,那么執行以下操作:

exec ./second

用第二個替換第一個腳本的進程。

除此以外

nohup ./second &
disown

對於Linux,您將在獲得要退出的程序的PID后使用“kill”命令 -

http://linux.about.com/library/cmd/blcmdl_kill.htm

我不知道如何通過腳本自動獲取PID。

看來你也可以使用“pkill”按名稱終止進程 -

EX-

pkill -9 ping

或者killall-

killall firefox

https://www.digitalocean.com/community/tutorials/how-to-use-ps-kill-and-nice-to-manage-processes-in-linux

以下答案適用於BATCH文件,而不是bash。 我讀錯了這個問題。

您可以通過獲取PID來關閉實例。 你也可以使用這段代碼 -

taskkill /f /im "x"

其中“x”是您要關閉的程序的名稱,就像它出現在任務管理器中一樣。

我給出的參數說明 -

/ im ImageName:指定要終止的進程的映像名稱。 使用通配符(*)指定所有圖像名稱。

/ f:指定強制終止進程。 遠程進程忽略此參數; 所有遠程進程都被強制終止。

更多信息 - http://technet.microsoft.com/en-us/library/bb491009.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM