在sh脚本中,获取后台进程的pid

时间:2010-10-08 15:20:55

标签: linux bash

是否可以在以下bash脚本中知道iwevent进程的pid:

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

请注意,iwevent运行直到ctrl-c信号。

FYI。 我在/ etc / network / interfaces“up”语句中运行此脚本,我想在相关的“down”语句中终止正在运行的iwevent进程。我的目标是记录无线事件。

2 个答案:

答案 0 :(得分:6)

这样的事情可以解决问题:

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

如果您需要变量,请阅读上述输出。

答案 1 :(得分:1)

检查“pidof”功能
http://en.wikipedia.org/wiki/Pidof 并查看手册页:man pidof