コマンドはシェルスクリプトのバックグラウンドで実行されません。

コマンドはシェルスクリプトのバックグラウンドで実行されません。

シェルスクリプトで次のコマンドを実行し、バックグラウンドで実行しようとします。

npx tailwindcss -i ./static/src/input.css -o ./static/src/output.css --watch &

私のシェルでは動作しますが、一度スクリプトに入れると実行されません。末尾を削除すると&スクリプト内で実行されますが、バックグラウンドで実行する必要があります。シェルスクリプトから呼び出すときに、この特定のコマンドがバックグラウンドで実行されない理由をご存知ですか?

ベストアンサー1

スクリプトを実行するために開始されたシェルでスクリプトが実行されます。シェルは、開始された最後のプロセスが終了するまで終了しません。

回避策:スクリプトを実行せずに現在のシェルからインポートします。ただし、これは、プログラムがバックグラウンドで実行されている間にシェルを維持する必要があることを意味します。

実際の質問は、npmパッケージでコマンドを実行してバックグラウンドで実行しようとしているため、これがデーモンで実行するのに不適切であることです。あなたの場合、node.jsはJavaScriptのデーモンの実行を正確に実行するように書かれています。

おすすめ記事