Поскольку Стефан опубликовал эту информацию как комментарий , но я нашел эту информацию более полезной, чем любые существующие ответы, я публикую комментарий как ответ.
Только для Linux:strace
по умолчанию печатает сигналы, поэтому вы можете использовать флаг -e
, чтобы отключить все системные вызовы, чтобы сигналы были более четкими:
strace -e 'trace=!all' cmd
В моем случае я пытался выяснить, какой процесс убивает запускаемый мной демон, поэтому я получил результат, который выглядит следующим образом:
[hendrenj@underling02 ~]$ strace -p 171869 -e 'trace=!all'
Process 171869 attached
--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=151513, si_uid=1000} ---
+++ killed by SIGTERM +++
Здесь вы можете видеть, что я подключился к PID 171869, и этот процесс был отправлен SIGTERM процессом с PID 151513.
Для получения дополнительной информации вы можете ознакомиться с этой записью в блоге , в которой предлагаются такие инструменты, как auditd
(, которые, как я полагаю, поставляются с SELinux, если вы используете дистрибутив, который его использует )или stap
(. ] Система Коснитесь ), если strace
недостаточно мощная.
apk
не требует аргумента --yes
, так как он предназначен для интерактивного запуска не -из get -go и не запрашивает пользователя, если не задан аргумент -i
/ --interactive
(и то только для "определенных операций" ).
Ссылка apk --help --verbose
.
Я не пробовал, так как не смог найти пакет с подсказкой, но либоyes | apk add <package>
(для нескольких подсказок ), либоecho y | apk add <package>
(в случае, если есть только одна подсказка ).
Подробнее см.https://linux.die.net/man/1/yes