Вывести PID в файл из процесса, выполняемого в скрипте bash? - PullRequest
2 голосов
/ 24 февраля 2012

У меня есть этот простой скрипт bash, который запускает процесс на сервере.Я хочу вывести pid процесса сервера в файл pid.txt.После некоторого быстрого поиска в SO, я пришел к такому подходу, но он, кажется, дает мне pid скрипта bash, а не серверный процесс, выполняемый из скрипта.Примечание: --fork требуется для запуска моего процесса сервера в качестве демона для вывода данных в отдельный файл журнала, и я подозреваю, что это вызывает проблему, основанную на этом предыдущем вопросе SO , в надеждеспособ обойти это.

#! /bin/bash

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

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

Ответы [ 2 ]

8 голосов
/ 24 февраля 2012

Могу я предложить:

#! /bin/bash

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

получено из справки Монго:

mongod --help
0 голосов
/ 24 февраля 2012
./mongo-linux64-202/mongod --fork &
pid=$(jobs -p | tail -n 1)

Хотя сначала посмотрите, готов ли mongod сообщить свой pid.

...