shでバックグラウンドプロセスを開始し、端末を閉じます。

shでバックグラウンドプロセスを開始し、端末を閉じます。

sh(bashではない!)でこれをどのように達成できますか?

nohup sh -c 'helper-bcpy.sh "$0" "$1" "$2" "$3"' "$num" "$full_path" "$log" "$log_finished" >/dev/null &

バックグラウンドでプロセスを送信し(はい)、端末から切り離すことは良かったでしょう(そうではありません。スクリプトを起動したところで端末を閉じると完全にはhelper-bcpy.sh実行されません。wgetに時間がかかるようですが、呼び出しは正しく実行されました...)。

私は使用できることを知っていますが、disownbashの代わりにshで行う必要があります...

#!/bin/sh

# $num $full_path $log $log_finished - computed before from parameters received by the script

nvram set led_disable=1
service restart_leds >/dev/null

nohup sh -c 'helper-bcpy.sh "$0" "$1" "$2" "$3"' "$num" "$full_path" "$log" "$log_finished" >/dev/null &

echo "copy process launched..."
exit 0

helper-bcpy.sh次のようになります。

#!/bin/sh

wget -m -np -nH -nv --cut-dirs="$1" "$2" 1>/dev/null 2>"$3"
nvram set led_disable=0
service restart_leds
mv "$3" "$4"

exit 0

Merlinファームウェアを使用してAsusルーターでこれを行う必要があります。

関連情報