我试图在它的路径内启动一个应用程序,并获得它的进程id:
(cd /opt/server/TrackServer/release && ./TrackServer&) && echo $!但我总是搞错了。
我明白:
$ (cd /opt/server/TrackServer/release && ./TrackServer&) && echo $!
5078
$ ps aux | grep TrackServer
user 5250 0.6 0.0 153340 7824 pts/0 S 20:09 0:00 ./TrackServer
user 5253 0.0 0.0 14868 976 pts/0 S+ 20:09 0:00 grep --color=auto TrackServer我如何在它的路径中调用进程并获得它的pid?
发布于 2013-12-04 19:16:44
如果只有一个运行,那么一个简单的方法就是使用pidof TrackServer
发布于 2013-12-04 19:20:24
TrackServer是(...)-induced子subshell的后台进程,而不是脚本,因此脚本中的$!存储了不同的PID。
试一试
pushd /opt/server/TrackServer/release && { ./TrackServer & echo $!; popd; }https://stackoverflow.com/questions/20383857
复制相似问题