シェルスクリプト経由でリターンキーを渡す

シェルスクリプト経由でリターンキーを渡す

私は、phpseclib指定された間隔でサーバー上でシェル スクリプトを実行するために を使用しています。そのスクリプトには の使用が含まれます。何らかの理由で、起動後にnohupSIGINT を送信する準備ができているユーザーや に戻るユーザーがいない場合は、プロセスが強制終了されます。nohup

たとえば、スクリプトをローカル プロンプト経由で実行する場合、Enter キーを押すだけで新しい cmd プロンプトが表示されます。これを自動的に実行しようとすると、リターンまたは SIGINT を渡すことができず、プロセスが終了しません。何かアイデアはありますか?

答え1

通常、私は過去にこのようなことをするためにExpectと呼ばれる醜いTCL/Tkフレームワークを使用していました。expectのPHPバージョンがあることに気づきました。PHP:期待おそらくそれがここで役立つでしょうか?

Expectを使用すると、コンソール接続をシミュレートして任意のキーシーケンスを送信できます。ただし、これらのフレームワークは面倒な場合があります。PHPに縛られていない場合は、アシエすごいですね(使ったことはないですが)。

関連情報