2010-10-08 3 views
3

Можно ли узнать PID процесса iwevent в следующем сценарии Баш:в ш сценария, получить идентификатор процесса фонового процесса

#!/bin/sh 
(iwevent | logger -t IWEVENT) & 
echo the pid is: ??? 

Обратите внимание, что не iwevent работать до тех пор, Ctrl-C сигнала.

FYI. Я запускаю этот скрипт в/etc/network/interfaces «вверх», и я хочу убить текущий процесс iwevent в соответствующем «down» заявлении. Моя цель - регистрировать беспроводные события.

ответ

1

проверка функция «pidof»
увидеть это http://en.wikipedia.org/wiki/Pidof
и проверить страницу человека: человек pidof

+1

но если несколько iwevent работают, я не уверен, чтобы получить правильный pid –

6

Что-то вроде этого следует сделать трюк:

#!/bin/sh 
({ iwevent & printf "The pid is %s\n" $! >&3; } | logger -t IWEVENT) 3>&1 & 

Если вам это нужно в переменной , прочитайте вывод выше.

Смежные вопросы