Ich verwende, phpseclib
um in bestimmten Abständen ein Shell-Skript auf meinem Server auszuführen. Dieses Skript beinhaltet die Verwendung von . Aus irgendeinem Grund wird der Prozess beendet, wenn nach dem Start nohup
kein Benutzer bereit ist, SIGINT oder eine Rückgabe an zu senden .nohup
Wenn ich das Skript beispielsweise über eine lokale Eingabeaufforderung ausführe, wird es ausgeführt. Dann muss ich nur die Eingabetaste drücken und erhalte eine neue Eingabeaufforderung. Wenn ich versuche, es automatisch auszuführen, kann ich weder die Rückgabe noch ein SIGINT übergeben und der Vorgang wird nie beendet. Ideen?
Antwort1
Normalerweise habe ich für solche Dinge in der Vergangenheit ein hässliches TCL/Tk-Framework namens Expect verwendet. Mir ist aufgefallen, dass es eine PHP-Version von expect gibt, die heißtPHP:Erwarten. Vielleicht hilft das hier?
Mit Expect können Sie eine Konsolenverbindung simulieren und beliebige Tastenkombinationen senden. Seien Sie jedoch gewarnt, diese Frameworks können schmerzhaft sein. Wenn Sie nicht an PHP gebunden sind, sehen Sie sich Folgendes an:Ashierdas klingt großartig (obwohl ich es noch nie benutzt habe).