Fórum Root.cz

Hlavní témata => Software => Téma založeno: Pali 02. 09. 2011, 21:19:29

Název: Donutit program aby nic nevypisal
Přispěvatel: Pali 02. 09. 2011, 21:19:29
Existuje nejake riesenie ako spustit lubovolny program tak by nic na konzolu nevypisal a pracoval na pozadi?

riesenie typu presmerovat mu stdout a stderr do /dev/null a spravit fork() nefunguje ak program si otvori /dev/tty a zacne do nho zapisovat...
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: Ignotus 02. 09. 2011, 21:33:30
Stačí na koniec príkazového riadku pridať & (prinajmenšom to tak funguje na kombinácii FreeBSD a tcsh)
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: Ondřej Surý 02. 09. 2011, 21:44:10
man nohup
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: Pali 02. 09. 2011, 21:57:41
& iba spravi bashi fork. nohup nefunguje. Skus si sputit toto (aj tak to 'a' vypise na konzolu):
$ nohup sh -c "echo a > /dev/tty"
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: Miero 02. 09. 2011, 21:58:49
mohlo by stacit spustit program pomocou "setsid", ktory otvori novu session bez tty a spusti v nej program
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: Pali 02. 09. 2011, 22:20:24
dik, o setsid som nevedl. takze ak fd 1 a 2 (defaulne je to nastavene na pts) poslem do /dev/null a spustim setsid tak uz /dev/stdin /dev/stdout a ani /dev/tty nefunguje...

prave sa pozeram z do /dev/pts/<daco> moze zapisovat lubovolny proces spusteny pod uzivatelom komu ten pts patri. Da sa to nejak zamedzit?
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: Miero 02. 09. 2011, 22:38:30
hej, spustit program pod inym uzivatelom ;-)
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: xxx xxx 16. 09. 2011, 12:58:49
Podle mne :

nejakyprogram 2> /dev/null 1> /dev/null &

posle chybove hlasky do cerne diry
posle normalni hlasky do cerne diry
a spusti program na pozadi &

Název: Re: Donutit program aby nic nevypisal
Přispěvatel: smoofy 16. 09. 2011, 13:47:20
nejakyprogram >& /dev/null &
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: smoofy 16. 09. 2011, 13:51:04
to ale asi bash nezkousne :(
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: dustin 16. 09. 2011, 14:27:03
Ale zkousne drobnou obměnu

nejakyprogram &> /dev/null
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: hawran diskuse 16. 09. 2011, 17:49:59
to ale asi bash nezkousne :(
A to jako proč?
Název: Re: Donutit program aby nic nevypisal
Přispěvatel: Pali 16. 09. 2011, 20:37:12
Podle mne :

nejakyprogram 2> /dev/null 1> /dev/null &

posle chybove hlasky do cerne diry
posle normalni hlasky do cerne diry
a spusti program na pozadi &

nefunguje. pozri moj protipriklad, hned zo zaciatku (vypise to aj tak 'a'):

$ sh -c "echo a > /dev/tty" 2> /dev/null 1> /dev/null &

Treba k tomu este setsid, teda takto:

$ setsid sh -c "echo a > /dev/tty" 2> /dev/null 1> /dev/null