Aceasta este comanda cook_rsh care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
bucatar - echilibrare sarcina rsh
REZUMAT
bucătar [ opțiune... ] arhitectură comandă [ argument... ]
bucătar -Ajutor
DESCRIERE
bucătar programul este un înveliș în jur rsh(1) care face echilibrarea simplă a sarcinii. Se obține
informațiile sale de încărcare prin rularea rup(1) comandă și selectează gazda cea mai potrivită
hased pe arhitectura pe care o specificați și cea mai mică încărcare dintre toate gazdele
arhitectură.
Primul argument de linie de comandă este numele arhitecturii care este folosit pentru a obține lista
gazde posibile. Din acea listă rup(1) comanda este rulată pentru a determina gazda cu
sarcina cea mai mica, care este la randul ei folosita ca prim argument al eventualului rsh(1) comanda.
CĂRȚI DE CATEGORIE
Pentru a utiliza acest program, undeva în cartea de bucate, trebuie să adăugați o linie
care citește
parallel_rsh = „bucăt”;
Dacă gazda aleasă este aceeași cu apelantul (build gazdă), atunci acest program doar execută
comanda omite rsh. Deci nu costă nimic să folosești acest lucru într-o rețea cu o singură mașină!
Pentru fiecare rețetă pe care doriți să o distribuiți unei gazde la distanță, trebuie să adăugați o legare de gazdă
atribuit lui. Utilizarea tipică este în cazul în care aveți o construcție multi-arhitectură.
%1/%0%.o: %0%.c
legare gazdă %1 {
cc -o [țintă] -c [rezolvare %0%.c]; }
În rețeta dată aici, fiecare arhitectură are fișierele sale obiect plasate într-un separat
arbore de directoare specific arhitecturii. Numele arhitecturii (%1) este utilizat în gazdă-
legare, astfel încât compilațiile să poată fi echilibrate la încărcare pentru toate mașinile din acea arhitectură.
Dacă aveți nevoie de o comandă pentru a rula pe o anumită gazdă (să zicem, pentru că acolo este un anumit
rezidă licența aplicației), apoi pur și simplu utilizați numele gazdei în legarea gazdă
atribut, mai degrabă decât un nume de arhitectură.
DEFINIRE THE CLASE
/host_lists.pl fișierul este de așteptat să existe și să conțină definițiile variabilelor utilizate pentru
determinați dacă gazdele sunt membre ale unor arhitecturi specifice.
/host_lists.pl fișierul definește un „hash de liste” perl HOL Hash-ul este %ArchNames și acesta
mapează numele arhitecturilor pe măsură ce utilizatorul dorește să le vadă, pentru a enumera referințele ca fiind reale
listele sunt stocate.
Numele fiecărei arhitecturi ar putea fi orice formă doriți, dar convenția este să utilizați
numele GNUish, cum ar fi „sparc-sun-solaris2.8”.
Pentru fiecare arhitectură, definiți una sau mai multe liste de mașini în funcție de ce funcție
fiecare set de mașini poate face. Acest lucru poate fi la fel de simplu sau la fel de elaborat după cum este necesar. Forma de
numele variabilei din listă poate fi orice identificator perl valid, dar poate fi la fel de bine ca
numele arhitecturii cu liniuță schimbat în underbar și punctul eliminat, iar tipul a fost adăugat. Pentru
exemplu s-ar putea defini gazde solaris ca:
@sparc_sun_solaris28_hosts = (
„mickey”, „minny”, „scrooge” );
Și gazde Linux ca:
@i386_linux22_hosts = (
„goofy”, „scrooge” );
Dacă este nevoie de a defini seturi diferite de mașini pentru diferite tipuri de lucrări, atunci
adăugați un sufix la numele din legarea gazdei directivă pentru fiecare dintre rețete și
listează aici cu același sufix.
Hash-ul pentru a mapa numele argumentelor la liste este definit ca:
%ArchNames = (
"sparc-solaris2.8", => @sparc_solaris28_hosts,
"i586-unknown-linux22", => @i386_linux22_hosts, );
Desigur, dacă utilizatorii au opinii diferite cu privire la ceea ce ar trebui să arate numele arhitecturii
cum ar fi, puteți defini și mapări „alias”.
„sun4-SunOS-5.8”, => @sparc_solaris28_hosts,
Sau poate că nivelul nu are importanță, atunci definiți
"sparc-solaris", => @sparc_solaris28_hosts,
"sparc-solaris2.7", => @sparc_solaris28_hosts,
De asemenea, această listă nu are voie să fie goală.
Și, în sfârșit, recunoașterea lui Perl, trebuie citit ultima linie a fișierului
1; din motive obscure și magice.
SYSLOG LOGARE
Comenzile tipice văzute în timpul unei build ar arăta ca
sh -c 'cd /aegis/dd/gumby2.2.C079 && \ sh -ce /aegis/dd/gumby2.2.C079/.6.1; \
eco $? > /aegis/dd/gumby2.2.C079/.6.2'
Deci putem extrage proiectul/modificarea din comandă destul de ușor și îl putem înregistra prin intermediul
syslog ar fi un plus banal.
OPŢIUNI
Această comandă nu are de obicei nicio opțiune.
-h Ajutor - afișați informațiile de utilizare
-vP Verbose - alegerea raportului
-Tn Valoare de urmărire pentru testare
Utilizați cook_rsh online folosind serviciile onworks.net