Я хотел знать, почему я вижу другое поведение в фоновом процессе в Bash shell
Случай 1: Вход на сервер Unix с использованием Putty (SSH)
- По умолчанию используется оболочка csh
- Я изменил на Bash shell
- введите пароль 2000 и
- нажмите enter
Он дал мне номер задания. Теперь я убил свою сессию, нажав x в окне шпатлевки Теперь откройте еще один сеанс и попытайтесь найти процесс. Процесс умер.
Случай 2: Случай 1: Зашел на сервер Unix с использованием Putty (SSH) По умолчанию используется оболочка csh
- Я изменил на Bash shell
- vi mysleep.sh
- sleep 2000 и сохраненный mysleep.sh
- ./mysleep.sh
Diff здесь... вместо выполнения команды sleep непосредственно Я сохраняю команду sleep в файле и выполняю файл.
Теперь я убил свой сеанс, щелкнув x в окне шпатлевки Теперь откройте еще один сеанс и попытайтесь найти процесс. Процесс все еще существует.
Не знаю, почему это происходит. Я думал, что мне нужно сделать отключение в Bash для запуска процесса даже после выхода из системы.
Один diff, который я вижу в идентификаторе родительского процесса. Во втором случае. Идентификатор родительского процесса для сна 2000 становится 1. Похоже, как только процесс для mysleep.sh умер, ядро назначил родительскому процессу 1.