Ich habe einen Prozess auf einer Maschine, die ich gestoppt habe (mit einer Strg-Z). Wie setze ich den Prozess fort, nachdem ich auf die Maschine geschossen habe?Wie gestarteten Job auf einem Remote-Computer pid fortgesetzt werden?
Antwort
Sie müssen die PID finden und dann kill -CONT <pid>
ausgeben.
Sie können die PID finden, indem Sie ps
mit einigen Optionen verwenden, um erweiterte Ausgabe zu erzeugen. Angehaltene Jobs haben in der Spalte T
in der Spalte STAT
(oder S
) eine Spalte.
Wenn es Ihnen gelingt, den Prozess fortzusetzen, aber es hat kein kontrollierendes Terminal mehr (und es braucht eines), dann könnte es möglicherweise hängen oder in eine Schleife gehen: Behalten Sie einfach seine CPU-Auslastung im Auge.
Dies ('kill -CONT ...') ist im Allgemeinen der richtige Trick, aber hüte dich vor zwei weiteren Dingen: (1) Das wird seine Eltern-Shell leicht verwirren (nennen wir das * P * für Parent), was nein bekommt Beachten Sie, dass der Prozess (nennen wir es * T *, für sTopped) fortgesetzt wurde, so * P * denkt * T * wird immer noch gestoppt. (2) Wenn der Prozess * T * * * immer noch mit seinem steuernden Terminal verbunden ist und versucht, bestimmte "tty ops" auszuführen, hat die Shell die Kontrollgruppeninformation des * Terminals * nicht übertragen und * T * wird sofort gestoppt wieder mit 'SIGTTIN' oder' SIGTTOU'. – torek
An dieser Stelle ist es wahrscheinlich eine gute Idee, 'screen' oder' tmux' zu erwähnen. – BraveNewCurrency
You can type in fg
to resume process. Wenn Sie mehrere Prozesse haben, können Sie fg processname
(z. B. fg vim
) oder fg job_id
eingeben.
Um die Job-IDs zu ermitteln, verwenden Sie den Befehl jobs
.
Relevant Zitat aus wikipedia auf, was sie tut:
fg ein Job-Steuerbefehl in Unix ist und Unix-artige Betriebssysteme, die es die Ausführung eines unterbrochenen Prozesses wieder in den Vordergrund, indem und damit sein Umleiten Standard-Eingabe- und -Ausgabestreams zum Endgerät des Benutzers.
fg benötigt die Jobnummer. Ich versuche das aus der Ferne zu machen. –
geben Sie 'Jobs' ein, um die Liste der Jobs zu erhalten – jh314
@ jh314:' Jobs' ist eine eingebaute Shell (unbedingt so, da die Jobnummern lokal zu diesem Prozess sind), also müsste er Zugriff auf das Terminal haben welche die Shell ausführt, negiert die Notwendigkeit für eine "Nicht-Shell" -Vorlage. Dies ist möglich, wenn Sie Dinge im Voraus einrichten (z. B. mit "Bildschirm") oder Remote-Desktop-Zugriff haben, aber er versucht, dies ohne diese zu tun. – torek
Um Job-ID und pid, verwenden Sie "Jobs -l", wie dies herauszufinden:
$ jobs -l
[1]+ 3729 Stopped vim clustertst.cpp
Die erste Spalte ist job_id, und das zweite ist pid.
- 1. Track-PID des gerade in Powershell gestarteten Prozesses
- 2. Erhalte die PID für einen von Eclipse gestarteten Prozess
- 3. Wie Ändern der LogFile.Directory-Eigenschaft über WMI auf einem Remotecomputer?
- 4. Pfad zu Programmdateien auf Remotecomputer
- 5. Starten Sie IIS auf Remotecomputer neu
- 6. Wie kann die letzte Aktivität fortgesetzt werden?
- 7. ob ein getöteter Kindprozess fortgesetzt werden kann?
- 8. OutOfMemory in Eclipse in einem gestarteten Prozess
- 9. Zugriff auf JBOSS Tomcat-Webanwendung über Remotecomputer
- 10. Gibt es eine Möglichkeit, die PID eines gestarteten Programms zu kennen?
- 11. Wie kann ich von einem Java gestarteten Prozess entsperren?
- 12. Hinzufügen von Benutzerzugriff auf einen freigegebenen Ordner auf Remotecomputer
- 13. Authentifizierung mit Sudo auf einem Crontab-Job
- 14. Kann nicht fortgesetzt werden Git Rebase
- 15. java.lang.RuntimeException: Aktivität kann nicht fortgesetzt werden
- 16. .NET-Threading: Wie kann ich einen Abbruch auf einem nicht gestarteten Thread erfassen?
- 17. AVplayer wird nach einem eingehenden Anruf fortgesetzt
- 18. Wie kann ich einen geplanten Task auf einem Remotecomputer programmgesteuert stoppen/starten?
- 19. Wie kann ich Benutzeranmeldeinformationen zur Verwendung auf einem Remotecomputer mit WCF senden?
- 20. Wie kann der Dateidownload in Python fortgesetzt werden?
- 21. Ermitteln Sie den Prozess pid auf einem bestimmten Port hören
- 22. Gegeben ein Kind PID, wie können Sie die Eltern PID
- 23. machen Jenkins (Hudson) Job hängen von einem anderen Job
- 24. Wie erhalte ich Zugriff auf Domänenobjekte von einem Quartz-Job?
- 25. Konnte nicht an pid: "41851" angehängt werden?
- 26. Überprüfen Sie den Status von Diensten, die auf einem Remotecomputer mit C#
- 27. Wie wird die Kette fortgesetzt?
- 28. Stoppen Sie alle gestarteten Dienste auf App Schließen/Beenden
- 29. Android 4.4.2 - java.lang.RuntimeException: Ausführen von Aktivitäten, die nicht fortgesetzt werden
- 30. Wie wird das Laden in PhpMyAdmin fortgesetzt?
Um die Frage zu klären, möchten Sie vielleicht bemerken, dass Sie dies aus einer * anderen * Shell heraus versuchen und keine Remote-Desktop-Zugriffe haben. – torek