
Как остановить скрипт, если он был запущен с помощью bash test.sh или ./test.sh?
# if the script was run with bash test.sh or ./test.sh, stop
echo "From here the script only works if it has been run with source test.sh or . test.sh"
решение1
ctrl+c, если он не был отправлен в фоновом режиме. если он в фоновом режиме, то запустите
ps aux | grep test.sh
, затем возьмите идентификатор процесса из столбца PID,
затем используйте kill, чтобы остановить его. так, если PID равен 3946, например. запустите
kill 3946
, затем снова запустите
ps aux | grep test.sh
, и если единственным результатом, который вы получите, будет ваш grep, то процесс был остановлен. В противном случае вам может потребоваться принудительно запустить его с помощью
kill -9 3946
, что немного более жестоко, но используется в качестве крайней меры.
вы можете запустить
kill -l
, который даст вам список сигналов, которые вы можете отправить процессу с помощью команды kill
. Ура !