Получить идентификатор нового запущенного процесса

Я хочу запустить какое-то приложение в фоновом режиме, а затем убить его с помощью pid.

pipe = IO.popen("firefox 'some_url' 2>&1 &")
pipe.pid

Этот код запускает firefox и возвращает мне некоторый pid, но, к сожалению, это не pid firefox.

pipe = IO.popen("firefox")
pipe.pid

Этот код запускает firefox и возвращает mi some pid, firefox pid. Есть ли решение запустить внешнее приложение и получить его pid? Firefox - это только, например, может быть любое другое приложение. Я также пробовал использовать такие библиотеки, как Open3 и Open4, но, похоже, эффект тот же. Мне также интересно, если «$!» Переменная bash - хорошее решение для этого? Запустите что-нибудь в фоновом режиме и прочтите '$!', Как вы думаете?

6
задан Sebastian 6 December 2010 в 11:48
поделиться