11.02.07

setsid.

Posted in linux, mail at 6:04 pm by viliar

Во время очередного обхода почтового сервера вдруг заметил, что при перезапуске с консоли демонзированный  dspam по-прежнему занимает pty.
# ps aux | grep dspam
dspam 1798 0.2 0.2 4200 1584 pts/1 S 14:53 0:00 dspam –daemon

Не смотря на то, что он запускается из под sudo, но мне это все равно как-то не понравилось, особенно вспоминая дебиановскую багу с апачем, позволяющую в такой ситуациии выполнять команды от рута. Это, имхо, невозможно в данной ситуации, но все же. Программа же  запускается как демон, зачем ей терминал?
Добавил во фьючерлист dspam’а, но захотелось найти решение.
Не помню, но как-то началось с системного вызова setpgrp, попутно нашел скриптик перловый в мейллистах dspam’а. И в конце концов с
удивлением нашел, что в линуксе есть не только системный вызов
setsid, но и одноименная утилита.

sudo -u dspam setsid dspam –daemon
и вуаля:
ps aux | grep dspam
dspam 1996 0.1 0.2 4200 1580 ? Ss 15:03 0:00 dspam –daemon

Лепота.

//Век живи - век учись, однако.

1 Comment

  1. viliar said,

    March 5, 2008 at 11:36 pm

    Запуск сего под sudo требует, чтобы в
    /etc/sudoers не было записи
    Defaults requiretty
    А то стартовать процесс будет только с консоли, в автоматическом режиме не будет.

14 queries. 0.231 seconds