it-swarm.com.de

So unterbrechen und setzen Sie Prozesse fort

Im Bash-Terminal kann ich treffen Control+Z Um einen laufenden Prozess anzuhalten, kann ich fg eingeben, um den Prozess fortzusetzen.

Ist es möglich, einen Prozess anzuhalten, wenn ich nur die PID habe? Und wenn ja, welchen Befehl soll ich verwenden?

Ich suche so etwas wie:

suspend-process $PID_OF_PROCESS

und dann, um es mit fortzusetzen

resume-process $PID_OF_PROCESS
151
Stefan

Sie können kill verwenden, um den Prozess zu stoppen.

Senden Sie SIGTSTP, um den Prozess höflich zu beenden (bevorzugen Sie dies für den normalen Gebrauch):

kill -TSTP [pid]

Senden Sie für einen "harten" Stopp SIGSTOP:

kill -STOP [pid]

Beachten Sie, dass der Prozess, den Sie durch PID stoppen möchten, in der Jobtabelle Ihrer Shell möglicherweise sichtbar bleibt, aber beendet wird, bis der Prozess wieder fg 'd ist.

Um die Ausführung des Prozesses fortzusetzen, wurde SIGCONT gesendet:

kill -CONT [pid]
181
Steve Burdine

Sie sollten dafür den Befehl kill verwenden.

Um ausführlicher zu sein, müssen Sie das richtige Signal angeben, d. H.

$ kill -TSTP $PID_OF_PROCESS

für die Unterbrechung des Prozesses und

$ kill -CONT $PID_OF_PROCESS

für die Wiederaufnahme. Dokumentiert hier .

48
maxschlepzig