Запуск приложения в режиме «daemon» в Linux
Часто случается ситуация, что нужно запустить приложение в Linux, которое не должно быть завершено при выходе пользователя, а режима демона у приложения нет. На этот случай можно воспользоваться парой приемов. Первый способ Запустить в сессии программы screen, которая не завершается при выходе пользователя. screen -d -m команда использованные параметры: -d -m — Запустить новый сеанс screen, но не подключаться к нему. Так же можно использовать параметр: -S имя — задать имя сессии screen для удобства поиска сессии по имени. Пример: screen -d -m -S backgroud_ping ping 127.0.0.1 1 screen -d -m -S backgroud_ping ping 127.0.0.1 Эта команда запустит пинг адреса 127.0.0.1 и присвоит сессии имя backgroud_ping. Для возврата к приложению и получению управления нужно: посмотреть список активный сессий screen: screen -ls 1 screen -ls в выводе консоли мы увидим имя и PID процесса: There is a screen on: 1218.backgroud_ping (13.05.2016 15:43:34) (Detached) 1 Socket in /var/run/screen/S-root. 123 There is a screen on: 1218.backgroud_ping (13.05.2016 15:43:34) (Detached)1 Socket in /var/run/screen/S-root. запущенная сессия будет иметь имя backgroud_ping, и в данном случае, PID будет 1218. теперь остается подключиться к процессу screen, это делается командой: screen -r номер_PID 1 screen -r номер_PID в нашем случае это будет: screen -r 1218 1 screen -r 1218 Мы получили обратно управление над приложением. Второй способ Использовать утилиту nohup, которая запустит приложение с игнорированием сигналов потери связи (SIGHUP), что позволит продолжить выполнение приложения после выхода пользователя из системы. nohup команда & 1 nohup команда & вывод будет перенаправлен вместо консоли в файл nohup.out, который будет находиться в папке из […]
Read more