从Bash脚本执行的进程输出PID到文件?

时间:2012-02-23 21:57:24

标签: bash mongodb ubuntu process pid

我有这个简单的bash脚本启动服务器进程。我想将服务器进程的pid输出到文件pid.txt。在对SO进行一些快速搜索之后,我提出了这种方法,但它似乎给了我bash脚本的pid,而不是从脚本执行的服务器进程。注意:我的服务器进程需要--fork作为守护进程运行才能将数据输出到单独的日志文件中,我怀疑这是基于此previous SO question导致此问题,希望有办法解决此

#! /bin/bash

./mongo-linux64-202/mongod --fork &
pid=$!

printf "%s\n" "$pid" > pid.txt

2 个答案:

答案 0 :(得分:8)

我可以建议:

#! /bin/bash

./mongo-linux64-202/mongod --pidfilepath ./pid.txt --fork &

派生自Mongo帮助:

mongod --help

答案 1 :(得分:-1)

./mongo-linux64-202/mongod --fork &
pid=$(jobs -p | tail -n 1)

虽然先看看mongod是否愿意以某种方式报告其pid。