Выход из текущего терминала в скрипте
Я сделал псевдоним для запуска определенной программы, и я поместил его в .bashrc
файл. Я хочу закрыть текущий терминал внутри скрипта. Я пробовал это, но это не работает.
alias mp='java -jar myprogram.jar & && kill $(echo $$)'
кажется, что он не может убить себя. Рабочая версия 12.04.
1 ответ
Попробуй это:
alias mp='java -jar myprogram.jar & && kill -SIGHUP $(echo $$)'
Я на самом деле не пробовал всю вашу команду, но добавив -SIGHUP
чтобы команда kill закрыла мой терминал.
Со страницы Википедии о сигналах Unix:
Сигнал SIGHUP отправляется процессу, когда его управляющий терминал закрыт. Первоначально он был разработан для уведомления о сбое последовательной линии (зависание). В современных системах этот сигнал обычно означает, что управляющий псевдо или виртуальный терминал закрыт.[3] Многие демоны перезагружают свои файлы конфигурации и снова открывают свои лог-файлы вместо выхода при получении этого сигнала.[4] nohup - это команда, которая заставляет команду игнорировать сигнал.