Puncte:0

`nohup` nu funcționează corect cu `&&`

drapel vn

Vreau să fac o execuție de fundal întârziată, pentru întârziere pe care o folosesc somn [orice secunde] && [execuție] pentru fundal folosesc nohup

Exemplu simplu de nohup singur:

data nohup &>> out.log &

Și, desigur, puteți găsi tipărire din execuția Data în out.log.

Dar vreau să amân execuția, ca 15 secunde, deci o mică combinație:

nohup sleep 15 && data &>> out.log &

De data aceasta nu funcționează corect, dormi 15 a fost executat în timp ce Data nu va face întotdeauna - Dacă închideți terminalul, acesta nu va executa nimic după &&.

Ce este în neregulă cu nohup? Se preda &&??

Puncte:3
drapel in

Presupun că ești în bash, unde nohup este o comandă a sistemului (coreutils).

În bash the && marca sfârșitul unei linii de comandă. În cazul dvs., nohup primește din shell doar parametrii dormi 15. Restul este următoarea comandă pentru shell.

La fel de nohup nu este un shell, nu puteți folosi paranteze pentru a „extinde” parametrii la nohup, deoarece nohup nu îl poate interpreta și nu știe ce să facă cu el.

O soluție ar fi crearea unui script (de ex. sleepdate) care contine dormi 15 && întâlnire și utilizați-l ca parametru pentru nohup:

nohup ./sleepdate &>> out.log &

sau folosiți bash (care poate interpreta &&) ca parametru pentru nohup

nohup bash -c 'sleep 15 && date' &>> out.log &

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.