透過 Shell 腳本傳遞 Return 鍵

透過 Shell 腳本傳遞 Return 鍵

我用來phpseclib按給定的時間間隔在我的伺服器上執行 shell 腳本。該腳本涉及使用nohup.無論出於何種原因,如果使用者沒有準備好發送 SIGINT 或nohup在啟動後返回,則會終止該進程。

例如,如果我透過本機提示字元執行腳本,那麼我所要做的就是按 Enter 鍵,然後我會得到一個新的 cmd 提示字元。當我嘗試自動運行它時,我無法傳遞返回值或 SIGINT,並且該過程永遠不會完成。有想法嗎?

答案1

通常我過去使用過一個名為 Expect 的醜陋的 TCL/Tk 框架來做這類事情。我注意到有一個 php 版本的 Expect 叫做PHP:期望。也許這會有幫助?

Expect 應該允許您模擬控制台連接並發送任何按鍵序列。請注意,儘管這些框架可能會很痛苦。如果您不依賴 PHP,請看一下阿希爾聽起來很棒(雖然我從未使用過它)。

相關內容