Misungo: ita kuti zvinyorwa zvako zveshash zviwedzere kusimba

Ndichiongorora nyika network ndakawona a chinyorwa chinonakidza (iyo yandinounza pano nechinyorwa nekuti inotsanangurwa zvinehunyanzvi) apo munyori wayo anotiratidza maitiro ekuita zvinyorwa zvedu zvebash zvine simba kushandisa misungo.

Gadzira zvinyorwa zvako zvebhash zvakanyanya kusimba nemisungo

Fungidzira kuti une bash script inomhanya zuva rega rega maawa matanhatu ega ega uye kuti pane imwe nguva inotadza kana iwo iwo iwo script anomhanya kaviri panguva imwe chete. Aya mamiriro maviri haana kugadzikana sezvo ivo vachida kupindira kwevanhu kuti vagadziriswe kana pane dzimwe nguva vasingakwanise kugadziriswa, vachisiya iyo system iri mukusaenderana mamiriro. Mhinduro yeizvi, pakati pevamwe, ndeye kushandisa misungo.

Misungo iri nyore uye inoshanda nzira yekudzora kuburitswa kwe bash zvinyorwa. Ngatidzokerei kune imwecheteyo yekutanga mamiriro, kana iyo script ikamiswa nemaoko, semuenzaniso ne ctrl-c, yakavhiringidzwa kudzorera chiratidzo chinobuda.

INT

uye kana zvichizopera na

kill

ipapo goho raizove

TERM.

Ese anokwanisa kubuda makodhi anogona kutariswa pamwe

kill -l

zvisinei zvinonyanya kushandiswa ndizvozvo chaizvo

INT, TERM, Buda

Kana iyo script iine, semuenzaniso, yefaira yekuenderana ne

rsync

chinhu chinonzwisisika kuvimba neyakavhara faira risingatenderi script kumhanya panguva imwe chete:

LOCK = "/ var / run / rsync.lock" kana [! -e $ Khiya]; wobva wabata $ LOCK rsync -avz foo bar rm $ LOCK zvimwe echo "rsync iri kutotanga" fi

MuSpanish yakajeka, script iri pamusoro inotarisa kana iyo yekukiya faira iripo uye kana isipo, inoigadzira uye gare gare inoita iwo unoenderana iwo wekuraira, pakupedzisira kudzima iyo yekukiya faira. Kana iyo faira iripo, script inongotumira meseji kumushandisi inoratidza kuti rairo iri kutoshanda.

Nekudaro, kana paine chinetso mamiriro anogona kuitika kuti iyo yekukiya faira haina kubviswa, ichiparadza zvisingadiwe mhedzisiro. Mhinduro yacho yakapusa:

LOCK = "/ var / run / rsync.lock" kana [! -e $ Khiya]; wobva wateya "rm -f $ LOCK; buda" INT TERM EXIT bata $ LOCK rsync -avz foo bar rm $ LOCK trap - INT TERM EXIT imwe echo "rsync iri kutomhanya" fi

Kunyanya kweiyi mhinduro ndeyekuti iwo murairo wakavharirwa musungo, kuitira kuti kana chiratidzo chichigamuchirwa

INT, TERM, Buda

iyo script inomira uye inobvisa iyo yekukiya faira

Izvo zvinofanirwa kutaura kuti panogona kuve nemakwikwi mamiriro mune script iripamusoro pakati penguva iyo yekuvhara faira inosimbiswa uye nenguva iyo yaakasikwa. Imwe mhinduro inogona kunge iri yekushandisa redirect uye bash's noclobber mode isingatungamire kune iriko faira:

LOCK = "/ var / run / rsync.lock" if (set -o noclobber; echo $$> "$ LOCK") 2> / dev / null; wobva watevera 'rm -f "$ LOCK"; kubuda $? ' INT TERM BVA rsync -avz foo bar rm -f $ KUSVIRA musungo - INT TERM BVA zvimwe echo "rsync iri kutomhanya: $ (kati $ LCK)"

Iko kusarudzika kweyekupedzisira ndeyekuti inoshandiswa sezvandanga ndambotaura, iyo noclobber modhi uye kuti iyo yekukiya faira ine iyo PID yeichi chiitiko chiri kuitwa.

Izvo zvakakoshawo kutaura kuti kune mamwe mhinduro senge

flock

o

solo

zvisinei mune ino positi ini ndaida kugovera mhinduro ne bash zviwanikwa zviwanikwa. Unogona kudzidza zvishoma nezve Misungo neizvi yakanakisa gwara.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako

  1.   Raphael Castro akadaro

    Hukuru! Kutenda nekugovana.

  2.   nx akadaro

    Chinyorwa chakanaka, ingochinja 'echo "rsync iri kutoshanda: $ (kati $ LCK)"' ku 'echo "rsync iri kutoshanda: $ (kati $ LOCK)"'

    Reply with quote

  3.   dglangos akadaro

    Chinyorwa chinonakidza kwazvo, hongu changamire! Izvi ndinochengeta.

  4.   Joaquin akadaro

    Iwo unobatsira kwazvo rairo yekuisa mundangariro. Ini ndaishandisa mune chinyorwa chandakaburitsa muchiposita, kudzima mamwe mafaera ayo script akagadzira paakamiswa.

  5.   DaniFP akadaro

    Inonakidza kwazvo, hongu changamire.