Nohup output

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hallo,

ik start op onze server een scriptje met
nohup ./script&

Nu zegt ie dat ie de output naar nohup.out zet.

in het scriptje doe ik in het begin
echo "begin van het script"

als ik ./script doe, krijg ik het wel te zien.

maar in de nohup zet ie het niet in de nohup.out.

is dit normaal, of doe ik iets verkeerd?

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 22-07 11:58

igmar

ISO20022

Verwijderd schreef op 11 March 2003 @ 12:33:
ik start op onze server een scriptje met
nohup ./script&

Nu zegt ie dat ie de output naar nohup.out zet.

in het scriptje doe ik in het begin
echo "begin van het script"

als ik ./script doe, krijg ik het wel te zien.

maar in de nohup zet ie het niet in de nohup.out.

is dit normaal, of doe ik iets verkeerd?
Wat doe je precies in dat script ?? Met een script met een echo als enige regel gaat hier de uitvoer keurig naar nohup.out, dus d'r is wat anders aan de hand.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wandel in dat scriptje mijn hele tabel door, zo'n 5000 regels.
Die controleer ik een voor een.

Nu wil ik dus ongeveer weten waar het scriptje zich bevindt.

Dus :
PHP:
1
if (($i % 100) == 0) echo "scriptje is bij $i\n";


dit werkt gewoon als ik
./script doe krijg ik vanalles in beeld,
maar met nohup blijft de nohup.out leeg

Acties:
  • 0 Henk 'm!

Anoniem: 80681

Misschien komt het door het feit dat uitvoer wat niet naar een console gaat meestal wordt gebufferd. Staat er na afloop van het script nog steeds geen uitvoer in nohup.out?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wordt de output gebufferd?

Dus er wordt dus niet iedere keer een regel toegevoegd?

Acties:
  • 0 Henk 'm!

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

nohup pompt alle output gewoon direct naar de nohum.out

maar jouw stukje code is php... dat krijg je toch van z'n leven niet normaal uitgevoerd als een script? dus ook niet met nohup...
php is voor websites...

Acties:
  • 0 Henk 'm!

Verwijderd

possamai, dat is helemaal niet waar wat je zegt. PHP kan gewoon als standalone script gebruikt worden :)

Acties:
  • 0 Henk 'm!

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

echtwaar?
hoeft dat niet door een webserver geparsed te worden dan?
dat is echt voor het eerst dat ik dat hoor...
geeft wel leuke mogelijkheden dan eigenlijk....

Acties:
  • 0 Henk 'm!

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

nou ik heb het dus gelijk maar effies geprobeerd voor TS..
enneh deze code
PHP:
1
2
3
4
#!/usr/local/bin/php
<?
echo('blaat');
?>


geeft als ik er nohup voorzet z'n output af aan nohup.out


nohup bla.php

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
possamai schreef op 11 maart 2003 @ 15:52:
nou ik heb het dus gelijk maar effies geprobeerd voor TS..
enneh deze code
PHP:
1
2
3
4
#!/usr/local/bin/php
<?
echo('blaat');
?>


geeft als ik er nohup voorzet z'n output af aan nohup.out


nohup bla.php
Maar jou script is afgelopen.
Mijn script draait nog door en moet tussentijds iets in die nohup.out zetten.\

Acties:
  • 0 Henk 'm!

  • MikeN
  • Registratie: April 2001
  • Laatst online: 22:17
Probeer flush(); eens in je script.

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06 17:45
en als je nu es DIT doet :

nohup ./script 1>2> ~/myoutput & tail -f ~/myoutput

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 13:56

Kees

Serveradmin / BOFH / DoC
XTerm schreef op 11 March 2003 @ 17:44:
en als je nu es DIT doet :

nohup ./script 1>2> ~/myoutput & tail -f ~/myoutput

gebruik dan tee, dat is een stuk korter ;)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06 17:45
XTerm schreef op 11 March 2003 @ 17:44:
en als je nu es DIT doet :

nohup ./script 1>2> ~/myoutput & tail -f ~/myoutput
nohup ./script | tee ~myoutput & tail -f ~/myoutput

Your wish is my command ;)

Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 19-07 21:32

deadinspace

The what goes where now?

XTerm schreef op 11 March 2003 @ 17:50:
nohup ./script | tee ~myoutput & tail -f ~/myoutput
Het idee van tee is dat die output zowel naar een file als naar stdout kan sturen, dus die tail is niet meer nodig ;)

Wat betreft het probleem van de TS: ik denk dat skuip het bij het rechte eind heeft, en MikeNs suggestie is zeker het proberen waard.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik weet wel zeker dat beiden gelijk hebben :)

php zal namelijk pas output geven wanneer het script helemaal klaar is, tenzij je expliciet via flush() opgeeft dat de output tot dan toe getoond moet worden.

Acties:
  • 0 Henk 'm!

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

ehm misschien een beetje offtopic..
maar stel nou dat je een file wilt nohuppen maar OOK de output naar het scherm wilt hebben..
Beetje een failsafe oplossing dan dus...
dat je wilt nohuppen, gewoon voor het geval je verbinding er uit klapt..

Is dan de enige oplossing om de nohup.out te tailen? of zijn er andere oplossingen voor?
want dat voorbeeld van XTerm gaat niet werken..

nohup stuurt niet meer naar de stdout dus het enige wat tail en tee nog zal weergeven is:

sending output to nohup.out

Acties:
  • 0 Henk 'm!

  • jvhaarst
  • Registratie: Maart 2000
  • Laatst online: 04-05 09:10

jvhaarst

Concordia res parvae crescunt

Maar waarom gebruik je niet gewoon screen ?
Lijkt me een stuk simpeler dan kutten met output van nohup.

If you don’t have enough time, stop watching TV.


Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 21-07 12:48

chem

Reist de wereld rond

Verwijderd schreef op 11 maart 2003 @ 20:49:
Ik weet wel zeker dat beiden gelijk hebben :)

php zal namelijk pas output geven wanneer het script helemaal klaar is, tenzij je expliciet via flush() opgeeft dat de output tot dan toe getoond moet worden.

*neen* dat is niet waar :)
iig niet normaal. zet in je script eens/roep je script aan met:

#!php -d "output_buffering=0"

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Ja hallo, ik heb het uiteraard over de standaard situatie 8)7 ;)
Pagina: 1