nohup-ը (No Hang Up) Linux համակարգերում հրաման է, որն իրականացնում է գործընթացը նույնիսկ shell/տերմինալից դուրս գալուց հետո: Սովորաբար, Linux համակարգերում յուրաքանչյուր գործընթաց ուղարկվում է SIGHUP (Signal Hang UP), որը պատասխանատու է տերմինալից փակելուց/դուրս գալուց հետո գործընթացը դադարեցնելու համար:
Ինչու՞ ենք մենք օգտագործում nohup հրամանը Linux-ում:
Nohup-ը հրաման է օգտագործվում է սերվերի վրա պրոցես (աշխատանք) գործարկելու և այն շարունակելու համար այն բանից հետո, երբ դուրս գաք կամ այլ կերպ կորցնեք կապը սերվերի հետ. Nohup-ը լավագույնս հարմար է երկար աշխատանքի համար: Nohup-ը առկա է բոլոր Unix հաշվողական սերվերների վրա: Nohup-ն օգտագործելու համար հեռակա պրոցես գործարկելու համար նախ պետք է միանալ հեռավոր սերվերին:
Ինչպե՞ս կարող եմ գործարկել nohup հրամանը:
Nohup հրամանը հետին պլանում գործարկելու համար, հրամանի վերջում ավելացրեք & (նշանանշան):. Եթե ստանդարտ սխալը ցուցադրվում է տերմինալում, և եթե ստանդարտ ելքը ոչ ցուցադրվում է տերմինալում, ոչ էլ ուղարկվում է օգտագործողի կողմից նշված ելքային ֆայլին (կանխադրված ելքային ֆայլը nohup. out է), երկուսն էլ՝ ./nohup:
Ինչպե՞ս կարող եմ ստեղծել nohup ֆայլ Linux-ում:
nohup-ը գործարկում է mycommand հրամանը առաջին պլանում և վերահղում հրամանի ելքը դեպի nohup: դուրս ֆայլ: Այս ֆայլը ստեղծվել է ընթացիկ աշխատանքային գրացուցակում . Եթե հրամանն աշխատող օգտվողը չունի աշխատանքային գրացուցակում գրելու թույլտվություն, ֆայլը ստեղծվում է օգտագործողի գլխավոր գրացուցակում:
Որտե՞ղ է nohup գործընթացը Linux-ում:
Գործարկեք ping հրամանը nohup հրամանով. Կրկին բացեք տերմինալը և նորից գործարկեք pgrep հրամանը: Դուք կստանաք գործընթացի ցուցակը գործընթացի ID-ով, որն աշխատում է: Դուք կարող եք դադարեցնել ցանկացած ֆոնային գործընթաց՝ գործարկելով kill հրամանը:
Ո՞րն է տարբերությունը nohup-ի և &-ի միջև:
nohup-ը բռնում է կախման ազդանշանը (տես մարդ 7 ազդանշան ) մինչդեռ ամպերսանդը չի (բացառությամբ, որ կեղևը կազմաձևված է այդպես կամ ընդհանրապես չի ուղարկում SIGHUP): Սովորաբար, երբ հրամանը գործարկվում է՝ օգտագործելով & և դրանից հետո դուրս գալով կեղևից, կճեպը կդադարեցնի ենթահրամանը՝ անջատման ազդանշանով ( kill -SIGHUP ):
Ինչպե՞ս կարող եմ իմանալ, արդյոք աշխատանքն աշխատում է անկայուն վիճակում:
1 պատասխան
- Դուք պետք է իմանաք այն գործընթացի մասին, որը ցանկանում եք նայել: Դուք կարող եք օգտագործել pgrep կամ jobs -l : jobs -l [1]- 3730 Running sleep 1000 & [2]+ 3734 Running nohup sleep 1000 &…
- Նայեք /proc/-ին /fd .
Ինչու՞ nohup-ը չի աշխատում:
Re: nohup-ը չի աշխատում
Կեղևը կարող է գործարկվել, երբ աշխատանքի կառավարումն անջատված է. … Եթե դուք չեք աշխատում սահմանափակ կեղևով, այս կարգավորումը պետք է փոփոխվի օգտվողի կողմից: Գործարկել «stty -a |grep tostop»: Եթե «tostop» TTY տարբերակը դրված է, ցանկացած ֆոնային աշխատանք դադարում է հենց որ այն փորձում է որևէ ելք տալ տերմինալին:
Ինչպե՞ս եք օգտագործում մերժումը:
Disown հրամանը ներկառուցված է, որն աշխատում է կեղևների հետ, ինչպիսիք են bash-ը և zsh-ը: Այն օգտագործելու համար դուք մուտքագրեք «մերժել», որին հաջորդում է գործընթացի ID-ն (PID) կամ գործընթացը, որը ցանկանում եք մերժել.
Ինչպե՞ս կարող եմ փոխել nohup ելքը:
Օգտատիրոջ կողմից սահմանված ֆայլում արդյունքը ավելացնելու համար կարող եք օգտագործել >> nohup հրամանում. Այս հրամանը կավելացնի ձեր ֆայլի բոլոր արդյունքները՝ առանց հին տվյալները հեռացնելու: Միայն մեկ կարևոր բան կա. ԱՌԱՋԻՆ ՀՐԱՄԱՆԸ ՊԵՏՔ Է ԼԻՆԻ «nohup», երկրորդ հրամանը պետք է լինի «ընդմիշտ», իսկ «-c» պարամետրը հավերժի պարամետրն է, «2>&1 &» տարածքը «nohup»-ի համար է:
Ինչպե՞ս կարող եմ ցուցադրել իմ էկրանը Linux-ում:
Հիմնական Linux էկրանի օգտագործումը
- Հրամանի տողում մուտքագրեք էկրան:
- Գործարկեք ցանկալի ծրագիրը:
- Օգտագործեք Ctrl-a + Ctrl-d ստեղնաշարի հաջորդականությունը՝ էկրանից անջատվելու համար:
- Կրկին կցեք էկրանի նիստին՝ մուտքագրելով screen -r :
Ինչպե՞ս կարող եմ ցուցադրել nohup ելքը:
Ձեր նպատակին հասնելու համար գործարկեք nohup COMMAND > FILE՝ ընտրելու այն ֆայլի անունը, որին ելք ուղարկեք: Հետո օգտագործել tail -f FILE դիտելու ելքը տերմինալի վրա: