SSH経由で別のコンピュータに接続し、netcatサーバーを開くスクリプトを作成しています。サーバーがタイムアウトできる必要があります。
-l
無視する-w.
このコマンドはnetcat -w 3
使用法を私に返します。
どうすればいいですか?
答え1
好きなことをするためのトリックは次のとおりです。
nc -l 12345 & NC_PID=$! ; sleep 3; if [ `netstat -ant | grep ':12345 .*ESTABLISHED'` -eq 0 ]; then kill -9 $NC_PID; fi
サーバーを起動し、タイムアウトに関係なく休止状態を維持し、接続が確立されない場合はnetcatを終了します。リスナーに一致するリモートポートとの既存の接続がある場合、サーバーがハングする可能性がありますが、幸運ではありません。
注:CentOS Linuxでテストしたため、コードは完全に移植可能ではありませんが、アイデアはすべての* nixシステムで機能する必要があります。