Puncte:0

În Linux/bash, cum pot preveni comenzile asincrone?

drapel vn

Am un makefile care apelează scripturi de construcție externe.

Unele dintre aceste script-uri (pe care nu le pot schimba) folosesc comenzi care sunt bifurcate/în fundal (sau asincrone, după cum le numește manualul bash)

Aceasta înseamnă că următoarea linie din makefile poate începe înainte ca unele dintre comenzile anterioare să se termine - creând o condiție de cursă.

Într-un fel, trebuie fie să aștept procesul bifurcat și tot ce sunt copii, fie pur și simplu să împiedic orice comandă sau subcomandă a scripturilor ulterioare care rulează în fundal.

Există o modalitate de a preveni acest lucru, adică dezactivați sufixul „&” pentru comenzile din subshell-urile curente și secundare?

Puncte:0
drapel in

O modalitate posibilă este să creați o copie a acestor scripturi și să eliminați construcțiile cu make some command pentru a rula în fundal. Fiți avertizat că este posibil să nu doriți să eliminați tot & automat, deoarece este posibil să încurca comenzi precum:

comandă && comandă 

Cealaltă modalitate posibilă este să ceri permisiunea de a edita scripturile (în loc să le copiați)

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.