Після того, як мій баш-скрипт виконаний із сервером селену, сценарій вбиває його так:
kill `ps -ef | grep selenium | awk '{ print $2 }'`
Хоча це працює, і він вбиває скрипт селену, він також намагається вбити процес для grep selenium
Так, до того моменту, коли номер процесу повернеться до команди kill, процес пропав, тому він закінчується генеруванням повідомлення про помилку. (Іншими словами: це закінчується вбивством двох процесів, один з них - справжній сервер селену, інший - швидкоплинний процес, який є побічним ефектом того, як я виконую цю команду.)
Чи є більш витончений спосіб вбити процес, який не має цієї ненавмисної побічної дії?
(FWIW одна ідея, яку я мав: цей самий скрипт запускає селен раніше в сценарії, тому, можливо, якби був спосіб, як я міг би захопити PID при запуску селену, я міг би просто зберегти це і вбити його безпосередньо, замість того, щоб хапати за ідентифікатор процесу. Проблема в тому, що я не знаю, як отримати цей PID, як використовувати змінну, щоб зберегти її, і як посилатися на неї пізніше в сценарії. Але це кращий спосіб зробити це?)