Donutit program aby nic nevypisal

Pali

Donutit program aby nic nevypisal
« kdy: 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...


Re: Donutit program aby nic nevypisal
« Odpověď #1 kdy: 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)

Re: Donutit program aby nic nevypisal
« Odpověď #2 kdy: 02. 09. 2011, 21:44:10 »
man nohup

Pali

Re: Donutit program aby nic nevypisal
« Odpověď #3 kdy: 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"

Miero

Re: Donutit program aby nic nevypisal
« Odpověď #4 kdy: 02. 09. 2011, 21:58:49 »
mohlo by stacit spustit program pomocou "setsid", ktory otvori novu session bez tty a spusti v nej program


Pali

Re: Donutit program aby nic nevypisal
« Odpověď #5 kdy: 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?

Miero

Re: Donutit program aby nic nevypisal
« Odpověď #6 kdy: 02. 09. 2011, 22:38:30 »
hej, spustit program pod inym uzivatelom ;-)

Re: Donutit program aby nic nevypisal
« Odpověď #7 kdy: 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 &


smoofy

  • *****
  • 1 059
    • Zobrazit profil
    • E-mail
Re: Donutit program aby nic nevypisal
« Odpověď #8 kdy: 16. 09. 2011, 13:47:20 »
nejakyprogram >& /dev/null &

smoofy

  • *****
  • 1 059
    • Zobrazit profil
    • E-mail
Re: Donutit program aby nic nevypisal
« Odpověď #9 kdy: 16. 09. 2011, 13:51:04 »
to ale asi bash nezkousne :(

dustin

Re: Donutit program aby nic nevypisal
« Odpověď #10 kdy: 16. 09. 2011, 14:27:03 »
Ale zkousne drobnou obměnu

nejakyprogram &> /dev/null

Re: Donutit program aby nic nevypisal
« Odpověď #11 kdy: 16. 09. 2011, 17:49:59 »
to ale asi bash nezkousne :(
A to jako proč?

Pali

Re: Donutit program aby nic nevypisal
« Odpověď #12 kdy: 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