おはようございます。私は特定のポート(9999)がPHPソケットサーバーによって聴かれているサーバーを持っています。何が起こるかは、デバイスがソケットに接続してメッセージを送信できることです。今すぐコードはうまく動作しますが、ソケットが閉じたり、消えたりすることに気づいたので、ログインせずに自動的にオンラインに戻して再実行する必要があります。Ubuntu - シェルスクリプトが、netstatを使用してポートを聴いているかどうかを調べるスクリプトですか?
私が考えているのは、ポート9999上で実行されているプロセスが存在するかどうかをnetstat経由でチェックするシェルスクリプトを作成していて、何もない場合、スクリプトはPHPソケットサーバを再びオンラインにします。このシェルスクリプトは、PHPソケットが実行されているかどうかを確認するために1分または2分ごとにCronによって呼び出されます。
私はシェルスクリプトに関する最低限の知識を持ち、これまでのところ、これは私がシェルで書いただけ他の事でした:
#!/bin/sh
if pidof "my process name here" >/dev/null; then
echo "Process already running"
else
echo "Process NOT running!"
sh /fasterthancron.sh
fi
私はある程度、このコードを再利用することができるはずだと思うけどif condition
を何に置き換えるべきか分からない。
私は私がプロセスが実行されているかを把握するためにnetstat -tulpn
を使用するようになってるのアイデアを持っているが、特定のプロセスがポート9999
netstatを使用して、特定のポートがそれを聞くプロセスを持っているかどうかを調べる方法については、非常に役に立ちます。
私の答えはあなたのために機能しましたか? –