実行した後にデーモン化する必要があるbashスクリプトがあります。次のように私の解決策が見えます:bash:新しい子としてフォークプロセスでデーモン化
#!/bin/sh -xe
child() {
echo child
}
child & # fork child
echo parent
kill $$ # kill parent
しかし、機能child
内全体スクリプト自身を置くことは行うには正しいことをしていないようです。残念ながらexec &
は、プロセス全体をバックグラウンドの子にフォークオフしません。
希望の効果をどのように達成できますか?
@Inian、拡張答え。 – Dummy00001
それはそれを説明する!素晴らしい答え! – Inian
私は '/ bin/bash'を明示的に指定しますが、このトリックは他のシェルでも機能することに注意してください。唯一の問題は、 '' $ @ ''(または代替)をサポートしていないシェルが引数をそのままシェルに渡すことです。しかし、非常に古い '/ bin/sh'を持つ商用の* nixシステムの外では、問題はないはずです。 – Dummy00001