Можно ли определить сигнал, полученный последним запуском приложения?

Для старого yum repoquery в вашем вопросе вы, вероятно, не можете.

Для нового (который является плагином DNF) вы можете: dnf repoquery --latest-limit 1

1
28.11.2018, 17:31
1 ответ

Когда процесс уничтожается, сигнал, который его убил, кодируется в статусе выхода, полученном родительским (или дочерним поджатником или initдля сирот ).

В bash, $?равно 128+signum.

Это то, что делает большинство Bourne -подобных оболочек, ksh93 использует 256+signum, yash 384+signum.

$?означает, что 129в bashлибо процесс был остановлен сигналом 1 (SIGHUP ), либо что он выполнил exit(129). Однако, если он сделал exit(129), скорее всего, это должно было сообщить о смерти SIGHUP какого-то процесса.

Чтобы получить имя сигнала из значения $?, запустите:

kill -l "$?"

Это работает во всех Bourne -типах оболочек независимо от того, используют ли они 128/256/384 + сигнум.

Подробнее см. Код выхода по умолчанию при завершении процесса?

2
27.01.2020, 23:31

Теги

Похожие вопросы