Po zakończeniu mojego skryptu bash na serwerze selenium, skrypt zabija go w następujący sposób:
kill `ps -ef | grep selenium | awk '{ print $2 }'`
Chociaż to działa i zabija skrypt selenu, próbuje również zabić proces. grep selenium
Więc do czasu, gdy numer procesu powróci do komendy kill, proces zniknie, więc kończy się generowaniem komunikatu o błędzie. (Innymi słowy: kończy się to zabiciem dwóch procesów, jeden z nich to prawdziwy serwer selenu, drugi to przelotny proces, który jest efektem ubocznym tego, jak wykonuję to polecenie).
Czy istnieje bardziej wdzięczny sposób na zabicie tego procesu, który nie ma tego niezamierzonego efektu ubocznego?
(FWIW miałem jeden pomysł: ten sam skrypt uruchamia selen wcześniej w skrypcie, więc może gdyby istniał sposób na uchwycenie PID podczas uruchamiania selenu, mógłbym go zatrzymać i zabić bezpośrednio, zamiast żartować identyfikator procesu. Problem polega na tym, że nie wiem, jak uzyskać ten PID, jak używać zmiennej, aby ją zachować, i jak odwoływać się do niej później w skrypcie. Ale czy to lepszy sposób, aby to zrobić?)