2

ログイン時に が実行されていることを確認したいnodeので、私の.bashrcファイルには次のものがあります。

pkill node
sleep 1
node server.js &

もちろん、それnodeは実行中かどうかをチェックしません...単純にそれを強制終了して再起動します。代わりに、次のようなものが欲しいです:

node_process = $(pidof node)
if [not_exists node_process]; then
  node server.js &
fi

問題は、not_existsメソッドが存在しないように見えることです:)。Bash で数値または文字列の存在をテストするにはどうすればよいですか? ログイン時にノードが稼働していることを確認するには、これが最善の方法ですか?

4

1 に答える 1

7

次を使用して、文字列が空かどうかを確認できます-z

node_process_id=$(pidof node)
if [[ -z $node_process_id ]]; then
    node server.js &
fi

pidof一致するプロセスが見つからない場合は何も返さないためnode_process_id、空の文字列に設定されます。

于 2013-10-10T12:21:30.797 に答える