我有这个简单的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
答案 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。