我有一个非常简单的问题:当我运行
shell脚本时,我启动了一个程序
在无限循环中运行.过了一会儿,我想在此之前停止这个程序
它再次使用不同的参数.现在的问题是如何找到pid的
我执行它时的程序?基本上,我想做那样的事情:
在无限循环中运行.过了一会儿,我想在此之前停止这个程序
它再次使用不同的参数.现在的问题是如何找到pid的
我执行它时的程序?基本上,我想做那样的事情:
echo "Executing app1 with param1" ./app1 param1 & echo "Executing app1" ..do some other stuff #kill somehow app1 echo "Execution of app1 finished!"
谢谢!
解决方法
在大多数shell(包括Bourne和C)中,您在后台启动的最后一个子进程的PID将存储在特殊变量$!中.
#!/bin/bash ./app1 & PID=$! # ... kill $PID
特殊变量部分下有some information here.