ルートフォルダから呼び出すと、nohupは機能しません。

ルートフォルダから呼び出すと、nohupは機能しません。

nohup同じフォルダでコマンドを実行すると正常に動作します(server.phpはポート7070でリッスンするために使用されます)。

root@servername:/var/www/html/admin# nohup php server.php &
[4] 2803
root@servername:/var/www/html/admin# nohup: ignoring input and appending output to ‘nohup.out’

root@servername:/var/www/html/admin# lsof -i :7070; echo $?
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php     2803 root    3u  IPv4  21955      0t0  TCP 192.168.1.12:7070 (LISTEN)
0
root@servername:/var/www/html/admin# kill 2803

今、同じコマンドを実行すると自動的に終了します

root@servername:/var/www/html/admin# cd /
root@servername:/# nohup php /var/www/html/admin/server.php &
[4] 2807
root@servername:/# nohup: ignoring input and appending output to ‘nohup.out’

[4]   Exit 255                nohup php /var/www/html/admin/server.php

私は何が間違っていましたか?

ベストアンサー1

私も同じ問題に直面しました。スクリプトが別のスクリプトを呼び出し、他のスクリプトを呼び出すために絶対パスを使用しないことがあります。この問題を解決するには、他のスクリプトを呼び出すときにすべてのスクリプトに絶対パスがあることを確認してください。

おすすめ記事