Niveau :
![Faites une pause Faites une pause](http://media.paperblog.fr/i/24/241105/faites-pause-L-s1XNqj.jpeg)
![Faites une pause Faites une pause](http://media.paperblog.fr/i/24/241105/faites-pause-L-4ZPHa_.jpeg)
![Faites une pause Faites une pause](http://media.paperblog.fr/i/24/241105/faites-pause-L-Kj9x4C.jpeg)
![Faites une pause Faites une pause](http://media.paperblog.fr/i/24/241105/faites-pause-L-tcHxdd.jpeg)
![Faites une pause Faites une pause](http://media.paperblog.fr/i/24/241105/faites-pause-L-YDVYQc.jpeg)
Résumé : kill -STOP ; kill -CONT
Lorsque vous lancez un programme, vous pouvez lui faire faire une pause. Vous savez tous comment faire :
$ sleep 10
ctrl-z
# et on relance
$ fg
Super, et maintenant si le soft a été lancé en arrière plan ?
$ sleep 10 &
# on le fait refenir au premier plan
$ fg
# pause
ctrl-z
# et on relance
$ fg
Bravo, vous avez passé le premier test. Maintenant, plus difficile. Et si le soft a été lancé depuis un autre terminal ? La réponse se trouve dans l'étude des signaux. Il existe un grand nombre de signaux, pour preuve :
$ kill -l
Mais une sélection précise permet de retrouver ceux qui sont derrière ctrl-z et fg. Il s'agit de STOP (19) et CONT (18). La réponse est donc :
# on pause
$ kill -19 1234
# et on relance
$ kill -18 1234
PS : Tant qu'on est dans les signaux, notez le signal sigalarm qui permet de réveiller un sleep qui dort (attention sa valeur de retour ne sera alors plus 0).
$ kill -14 1234