Запуск програм окремо від шела

nohup
Отже, почнемо з nohup. Вона вже є в системі і в FreeBSD, і в Linux. Завдання цієї утиліті зводиться до того, щоб запустити програму незалежно від шела та перенаправити стандартний ввід на /dev/null, а стандартний вивід – у nohup.out (а якщо це неможливо – то у $HOME/nohup.out). Якщо необхідно, щоб вивід писався в інший файл, використовуйте перенаправлення:
$ nohup portaupgrade -va >upgrade.txt

dtach
Наступна програма – dtach. Вона не набагато складніша попередньої і знаходиться у FreeBSD в портах. У її мані написано, що «dtach це програма, яка емулює функцію від’єднання екран», тобто dtach займається емулюванням однієї-єдиної властивості скріну, а саме – створенням окремих сесій для кожної програми. Весь сенс у тому, щоб запустити програму під dtach’ем, а потім підключатися до неї, коли необхідно.

Цікавою особливістю є те, що dtac вимагає явно вказати, де створювати сокет, за допомогою якого ідентифікується сесія. Доступ до сесії цілком і повністю визначається доступом до сокету, так що якщо вам необхідно показати сесію всім – запускайте dtach, ставте права на сокет 644

Створити сесію з rtorrent’ом всередині (однойменний сокет буде створено в домашній директорії):
dtach -c $HOME/rtorrent rtorrent

Натисніть Ctrl + \, і ви покинете dtach. Щоб заново підключитися до сесії, що існує, наберіть:
dtach -a $HOME/rtorrent.

This entry was posted in Нотатки стосовно FreeBSD and tagged , , . Bookmark the permalink.

Comments are closed.