Niveau :
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