Я сделал псевдоним для запуска определенной программы, и я положил его в файл .bashrc . Я хочу закрыть текущий терминал внутри скрипта. Я пробовал это, но это не работает.

alias mp='java -jar myprogram.jar & && kill $(echo $$)'

кажется, что он не может убить себя. рабочая версия 12.04.

1 ответ1

0

Попробуй это:

alias mp='java -jar myprogram.jar & && kill -SIGHUP $(echo $$)'

Я на самом деле не пробовал всю вашу команду, но добавление -SIGHUP к команде kill закрыло мой терминал.

Со страницы Википедии о сигналах Unix:

Сигнал SIGHUP отправляется процессу, когда его управляющий терминал закрыт. Первоначально он был разработан для уведомления о сбое последовательной линии (зависание). В современных системах этот сигнал обычно означает, что управляющий псевдо или виртуальный терминал закрыт. [3] Многие демоны перезагружают свои файлы конфигурации и снова открывают свои лог-файлы вместо выхода при получении этого сигнала. [4] nohup - это команда, которая заставляет команду игнорировать сигнал.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .