web-dev-qa-db-fra.com

Comment suspendre et reprendre des processus

Dans le terminal bash, je peux frapper Control+Z pour suspendre tout processus en cours ... alors je peux taper fg pour reprendre le processus.

Est-il possible de suspendre un processus si je n'ai que son PID? Et si oui, quelle commande dois-je utiliser?

Je cherche quelque chose comme:

suspend-process $PID_OF_PROCESS

puis de le reprendre avec

resume-process $PID_OF_PROCESS
151
Stefan

Vous pouvez utiliser kill pour arrêter le processus.

Pour un arrêt "poli" du processus (préférez-le pour une utilisation normale), envoyez SIGTSTP:

kill -TSTP [pid]

Pour un arrêt "dur", envoyez SIGSTOP:

kill -STOP [pid]

Notez que si le processus que vous essayez d'arrêter par PID se trouve dans la table des travaux de votre shell, il peut y rester visible, mais terminé, jusqu'à ce que le processus soit à nouveau fg '.

Pour reprendre l'exécution du processus, envoyez SIGCONT:

kill -CONT [pid]
181
Steve Burdine

Vous devez utiliser la commande kill pour cela.

Pour être plus verbeux - vous devez spécifier le bon signal , c'est-à-dire.

$ kill -TSTP $PID_OF_PROCESS

pour suspendre le processus et

$ kill -CONT $PID_OF_PROCESS

pour le reprendre. Documenté ici .

48
maxschlepzig