私が書いた簡単な起動スクリプトには、次のものがあります。
PID=`su user_name -c "daemon_name > /dev/null 2>&1 & echo \$!"`
echo $PID
スクリプトは として実行されroot
ます。そして、エコーは実際には何もエコーしません:)
シェルにまったく同じコマンドを入力すると、機能します。
# su user_name -c "daemon_name > /dev/null 2>&1 & echo \$!"
11831
#
何か案は?ありがとう。
編集:別のユーザーとしてアプリケーションを実行しようとする前は、正常に機能していました。
以前はこのコードを使用していました:
PID=`daemon_name > /dev/null 2>&1 & echo $!`
echo $PID
そしてそれはうまくいったroot