Sen kullanmak isteyebilirsiniz -wile killallbunun için:
-w, --wait
Wait for all killed processes to die. killall checks
once per second if any of the killed processes still exist
and only returns if none are left. Note that killall may
wait forever if the signal was ignored, had no effect,
or if the process stays in zombie state.
Bu yüzden killall -w rogue_agentsyeterli olurdu.
Düzenleme : Düzenlemenizdeki ek bonus sorusu için ...
( kill -9belirli bir süre sonra yükseltmek hakkında ) Aşağıdakileri deneyebilirsiniz:
(şu anda kendim deneyemiyorum çünkü sahtekarlık işlemim yok: )
timeout 8 killall -w rogue_agents
timeout 8 killall -9 -w rogue_agents
Bu killallbir bekleme ile yapacak . timeout 8O yapabileceğiniz bundan sonra sadece 8 saniye bekleyin yapar killall -9. Ben de onu 8 saniye beklettim. Eğer killall -98 saniye sonra yapılmazsa orada yanlış bir şey gerçekten ve manuel soruşturma gerekir.
Elbette, testten sonra ancak killall8 saniye sonra ilk başlangıçtan sonra hala rogue_agents varsa, ikinci satırı çalıştırmak için test yapabilirsiniz . İşlem ikinci saniyeden sonra hala etkinse, hatalı bir yankı killall -9.