Автор Тема: NOHUP не иска да запазва задача във фонов режим  (Прочетена 1398 пъти)

Astor

  • Напреднали
  • *****
  • Публикации: 332
    • Профил
Здравейте,

имам следния проблем и искам да го споделя - дали аз бъркам някаде?
Крайната цел е да пусна bash задача във фонов режим – background през отдалечена ssh сесия и тази задача да не спира след като се разпадне ssh сесията.

Ползвам nohup така:
Цитат
# nohup badblocks -nvs /dev/sda 78150743 26395098
nohup: ignoring input and appending output to `nohup.out
# ls -l
total 0
-rw------- 1 root root 0 May  6 11:30 nohup.out'
# jobs
[1]+  Running                 badblocks -nvs /dev/sda 78150743 26395098 &
файлчето: nohup.out реално си стои през цялото време празно, stdout си излиза директно в конзолата (ssh bash prompt-а), това също май е проблем.
Основният проблем обаче е че, след прекратяване на ssh сесията изчезва задача 1. При повторно свързване вече jobs показва че няма никакви задачи.

Това нормално ли е? Защо background job не устоява на SIGHUP след като е пуснат с nohup?
И как може това да се постигне? screen ли е единствената алтернатива?

Активен

Няма начин, да няма начин!

solarflux

  • Напреднали
  • *****
  • Публикации: 100
    • Профил
Пробвай с нещо като

# nohup badblocks -nvs /dev/sda 78150743 26395098 > /tmp/nohup.out 2>&1  &
Активен

Astor

  • Напреднали
  • *****
  • Публикации: 332
    • Профил
Здравейте,
solarflux - да по този начин stdout се записва във файла: nohup.out, само че основният проблем си остава:

при прекратяване на ssh сесията всички задачи пуснати във background изчезват.

Нали точно това е идеята на nohup да остават да работят без tty.
Активен

Няма начин, да няма начин!

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
Ползвай screen
Активен

theshit

  • Гост
Ползвай screen

да и аз бих те посъветвал същото - не е кой знае, колко супер-интелигентно, но ще ти свърши работа на 100%
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
...
файлчето: nohup.out реално си стои през цялото време празно, stdout си излиза директно в конзолата (ssh bash prompt-а), това също май е проблем.
Основният проблем обаче е че, след прекратяване на ssh сесията изчезва задача 1. При повторно свързване вече jobs показва че няма никакви задачи.

Това нормално ли е? Защо background job не устоява на SIGHUP след като е пуснат с nohup?
И как може това да се постигне? screen ли е единствената алтернатива?
ТОва, което виждате на екрана не е stdout, а stderr
И сложете на края на реда амперсанд!
Активен

0x2B|~0x2B

Astor

  • Напреднали
  • *****
  • Публикации: 332
    • Профил
Здравейте,

проблемът освен със screen се реши и с disown.
Иначе с ампресант и без все едно и също се получаваше.

Благодаря за отговорите.
Активен

Няма начин, да няма начин!

d0ni

  • Напреднали
  • *****
  • Публикации: 183
    • Профил
Ползвай screen

Леко встрани от темата, но ако не сте пробвали tmux - препоръчвам го горещо като заместител на screen.
Активен