【问题标题】:in a sh script, get the pid of a background process在 sh 脚本中,获取后台进程的 pid
【发布时间】:2010-10-08 15:20:54
【问题描述】:

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

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

注意 iwevent 一直运行到 ctrl-c 信号为止。

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

【问题讨论】:

    标签: linux bash


    【解决方案1】:

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

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

    如果你需要它在一个变量中,阅读上面的输出。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 但是如果有几个 iwevent 正在运行,我不确定得到正确的 pid
      猜你喜欢
      • 2013-06-02
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      相关资源
      最近更新 更多