Вы можете думать -f как "следовать". Когда -f добавляется в хвост, команда не выходит, а ждет, когда в файл будет добавлено больше; этот дополнительный текст будет напечатан хвостом. Обычно вы убиваете tail -f с помощью ^c.
Это часто используется с лог-файлами, которые пишутся демонами или фоновым пользовательским процессом.
tail -f /var/log/syslog
Похоже, что вам нужен не killall
. Вам понадобится команда exit
, которая завершит вашу программу. Добавив exit 1
в качестве последнего оператора вашей ветки else
, сценарий завершится
Позвольте мне просто сломать эту команду:
exit
принимает 1 аргумент, который это статус выхода. Статус выхода 1
указывает на то, что в вашем скрипте возникла проблема, в данном случае не удалось загрузить моды. Если вы не хотите отправлять в ОС статус выхода ошибки, вы можете просто выполнить exit
Мне кажется, что вы хотите убить только ваш текущий скрипт, а не другие программы. В таком случае, простой
exit(1)
в конце ветки else
должен помочь.