2

Возможный дубликат:
Оставить скрипт bash запущенным на удаленном терминале, пока не залогинен?

Привет всем, я запускаю программу, скажем ./a.out 10 из командной строки. Предположим, что есть некоторое while(1) внутри запускаемой программы. Теперь, если я попытаюсь закрыть оболочку, она предупредит меня, что она также убьет мою работающую программу! Итак, как убить оболочку и позволить моей программе продолжать работать в фоновом режиме?

Я попытался exec ./a.out 10 но оболочка все еще там. Другой вариант - просто дважды щелкнуть по моему исполняемому файлу, но как мне передать параметры командной строки?

2 ответа2

8

nohup - это команда POSIX, которая игнорирует сигнал HUP (зависание), позволяя команде продолжать работать после выхода пользователя, который выполнил команду. Сигнал HUP (зависание) является условным способом, которым терминал предупреждает в зависимости от процессов выхода из системы.

Используйте nohup:

$ nohup ./a.out 10 &
$ exit
1

Вы также можете запустить свою программу в сеансе экрана .

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