it-swarm.it

Come sospendere e riprendere i processi

Nel terminal bash posso colpire Control+Z per sospendere qualsiasi processo in esecuzione ... quindi posso digitare fg per riprendere il processo.

È possibile sospendere un processo se ho solo il PID? E se sì, quale comando dovrei usare?

Sto cercando qualcosa come:

suspend-process $PID_OF_PROCESS

e poi per riprenderlo con

resume-process $PID_OF_PROCESS
151
Stefan

È possibile utilizzare kill per interrompere il processo.

Per un arresto "educato" del processo (preferirlo per un uso normale), invia SIGTSTP:

kill -TSTP [pid]

Per un arresto "difficile", invia SIGSTOP:

kill -STOP [pid]

Si noti che se il processo che si sta tentando di arrestare tramite PID si trova nella tabella dei lavori di Shell, potrebbe rimanere visibile lì, ma terminato, fino a quando il processo non è di nuovo fg 'd.

Per riprendere l'esecuzione del processo, ha inviato SIGCONT:

kill -CONT [pid]
181
Steve Burdine

Per questo dovresti usare il comando kill.

Per essere più prolisso, devi specificare il segnale giusto , ad es.

$ kill -TSTP $PID_OF_PROCESS

per la sospensione del processo e

$ kill -CONT $PID_OF_PROCESS

per averlo ripreso. Documentato qui .

48
maxschlepzig