При необходимости изменить состояние процесса нужно воспользоваться следующей особенностью операционной системы – сигналами. Сигналы – это указания процессам с целью изменения их состояния. Не вдаваясь в подробности программирования, можно сказать, что в случае, если сама программа способна обработать сигнал, она это сделает. В противном случае возможность обработки сигнала предоставляется операционной системе, которая выполнит действие, определенное по умолчанию (часто это остановка выполнения программы либо завершение ее работы). Далее приведен список часто используемых сигналов.
QUIT – указывает процессу на необходимость его завершения. При получении сигнала процесс прекращает работу, выполнив действия, необходимые для ее корректного завершения. По окончании создается дамп памяти – файл, в котором содержится образ процесса в памяти, что иногда может дать программисту ценную информацию.
KILL – выполняет завершение процесса. Эта команда часто используется при завершении зависших процессов, так как она выполняется операционной системой.
TERM – аналогичен команде QUIT, затем исключением, что при завершении процесса дамп памяти не создается.
TSTP – остановка процесса. Аналогичен действию, которое происходит при нажатии сочетания клавиш Ctrl+Z во время выполнения процесса.
CONT – продолжение выполнения процесса после остановки.