5

У меня есть доступ к удаленной оболочке Linux для рабочих целей. Я держал Python-скрипт в фоновом режиме, используя nohup .

Теперь, если я хочу выйти из сеанса, в чем разница между использованием команд logout и exit ? Будет ли мой сценарий работать в обоих случаях?

2 ответа2

2

logout - это внутренняя команда оболочки. Так что обычно ответ зависит от оболочки. От man bash:

logout - выход из оболочки входа.

От man zsh:

logout [ n ] - То же, что и выход, за исключением того, что он работает только в оболочке входа в систему.

Таким образом, они абсолютно одинаковы, но выход из системы просто откажется работать для оболочек без входа в систему. Что такое оболочка входа в систему, можно прочитать на страницах руководства.

0

Попробуйте оба в вашем местном терминале. Если вы хотите использовать "logout", вам нужно быть "login". В вашем терминале по умолчанию вы никогда не запускаете оболочку с логином, поэтому, если вы хотите закрыть терминал, вам нужно использовать "выход". Это не "оболочка для входа".

В удаленной оболочке ssh безразлично, потому что вы используете "оболочку входа". Когда вы используете nohub или подобное, вы "отсоединяете" команду от реальной оболочки, поэтому, когда вы закрываете оболочку, процесс не умирает.

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