Я переношу скрипт, который просто использовал sh для bash, скрипт изначально выглядел так:
#!/bin/sh
... a bunch of setup ...
exec "$@"
Когда я запускаю скрипт через:
./my_script kill -l
Я получаюсписок доступных сигналов:
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
Тем не менее, я хочу использовать имена сигналов bash, поэтому подумал, что могу просто:
#!/bin/bash
exec bash -l "$@"
Проблема теперь в уничтожении не распознана:
/bin/kill: /bin/kill: cannot execute binary file
На самом деле мой сценарий является просто оберткой вокруг другого процесса, и мне нужно убедиться, что ему может быть отправлен сигнал kill -SIGTERM
.