Команда Unix для выхода от командной строки

Испытанный Sqliteman? Искать sqliteman в Вашем диспетчере пакетов. Это стабильно, так должно быть широко доступным.

0
18.04.2013, 09:43
2 ответа

Как Chris Down, я собираюсь предположить, что Вы используете удар GNU. Другие оболочки могут отличаться, но общее представление должно быть тем же.

В ударе, переменной среды $$ содержит идентификатор процесса в настоящее время рабочего процесса, и $PPID содержит идентификатор процесса родителя рабочего процесса. Поскольку Chris иллюстрировал, можно пойти еще больше, но/proc является определенным для Linux.

Можно спросить пользователя, выйти ли из использования конструкции как следующее.

echo "Do you want to exit? (type YES or NO, then Enter)"
read answer
if test "${answer}" = "YES"; then
    # insert process killing magic
fi
# we only get here if the user did not answer "YES"

Если это доступно, можно использовать GNU dialog сделать вопрос немного более симпатичным. В этом случае замените весь отрывок выше чем-то как следующее.

if dialog --yesno "Do you want to exit?" 10 50; then
    # insert process killing magic
fi
# we only get here if the user did not answer "YES"

Числа 10 50 укажите размер диалогового окна (строки и столбцы, соответственно).

process killing magic могло быть что-то столь же простое как kill $PPID.

0
28.01.2020, 02:37

Я предполагаю, что Вы подразумеваете, что хотите уничтожить интерактивную оболочку, от которой был разветвлен сценарий. Я также предполагаю, что та оболочка bash.

При определении источника сценария в той оболочке просто используйте exit. Иначе отправить SIGABRT (или другой сигнал, который заставит удар выходить) к родительскому pid (интерактивная оболочка) при помощи чего-то вроде этого:

kill -ABRT "$PPID"

Или, в оболочках без $PPID (это - конкретный Linux):

read -r _ _ _ ppid _ < "/proc/$$/stat"
kill -ABRT "$ppid"
2
28.01.2020, 02:37
  • 1
    @BhushanJ, Если Вы нашли ответ полезным, upvote это путем нажатия на стрелку вверх в левом столбце. –  a CVn 18.04.2013, 12:06

Теги

Похожие вопросы