0
我有我通過運行2個過程:擊 - 殺死所有的並行處理,如果一個失敗
init_thing & start_thing
init_thing
投票start_thing
的日誌,它認爲表明start_thing
已經成功地開始了一個特定的行,然後對它執行一些命令(例如添加用戶)。
如果init_thing
函數認爲start_thing
超時,則函數可能會失敗,返回非零值。 start_thing
函數可能會失敗,但如果成功,它將永遠運行。
我想要做的是殺start_thing
如果init_thing
失敗。
我在GNU parallel
的許多答案中都看到過,但它似乎依賴於兩個進程完成(即用零退出代碼退出),在我的情況下不適用。
有沒有辦法用bash來做到這一點?也許以我沒有看到/理解的方式使用parallel
?
'start_thing&PID = $ !;如果! init_thing;然後殺死「$ pid」; fi' – Leon