വിച്ഛേദിച്ചതിന് ശേഷവും വിദൂര എസ്എസ്എച്ച് സെഷനുകളും പ്രക്രിയകളും പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള 5 വഴികൾ


SSH അല്ലെങ്കിൽ സെക്യുർ ഷെൽ ലളിതമായി പറഞ്ഞാൽ ഒരു വ്യക്തിക്ക് മറ്റൊരു സിസ്റ്റത്തിൽ മറ്റൊരു ഉപയോക്താവിനെ വിദൂരമായി ആക്uസസ് ചെയ്യാൻ കഴിയുന്ന ഒരു മാർഗമാണ്, എന്നാൽ കമാൻഡ് ലൈനിൽ മാത്രം അതായത് GUI ഇതര മോഡ്. കൂടുതൽ സാങ്കേതികമായി പറഞ്ഞാൽ, നമ്മൾ മറ്റേതെങ്കിലും സിസ്റ്റത്തിൽ മറ്റ് ഉപയോക്താവിലേക്ക് ssh ചെയ്ത് ആ മെഷീനിൽ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ, അത് യഥാർത്ഥത്തിൽ ഒരു വ്യാജ ടെർമിനൽ സൃഷ്ടിക്കുകയും ലോഗിൻ ചെയ്ത ഉപയോക്താവിന്റെ ലോഗിൻ ഷെല്ലിലേക്ക് അറ്റാച്ചുചെയ്യുകയും ചെയ്യുന്നു.

ഞങ്ങൾ സെഷനിൽ നിന്ന് ലോഗ് ഔട്ട് ചെയ്യുമ്പോഴോ സെഷനിൽ നിന്ന് ലോഗ് ഔട്ട് ആകുമ്പോഴോ, കുറച്ച് സമയത്തേക്ക് നിഷ്uക്രിയമായി കിടന്നതിന് ശേഷം, SIGHUP സിഗ്നൽ കപട ടെർമിനലിലേക്കും ആ ടെർമിനലിൽ പ്രവർത്തിക്കുന്ന എല്ലാ ജോലികളിലേക്കും, അവരുടെ മാതാപിതാക്കളുടെ ജോലിയുള്ള ജോലികളിലേക്കും അയയ്ക്കുന്നു. കപട ടെർമിനലിൽ ആരംഭിക്കുന്നത് SIGHUP സിഗ്നലും അയയ്ക്കുകയും അവസാനിപ്പിക്കാൻ നിർബന്ധിതരാവുകയും ചെയ്യുന്നു.

ഈ സിഗ്നൽ അവഗണിക്കാൻ കോൺഫിഗർ ചെയ്uത ജോലികൾ മാത്രമേ സെഷൻ അവസാനിപ്പിക്കുന്നതിനെ അതിജീവിക്കുന്നുള്ളൂ. ലിനക്സ് സിസ്റ്റങ്ങളിൽ, ഉപയോക്തൃ ലോഗ്ഔട്ടിനും സെഷൻ അവസാനിപ്പിക്കലിനും ശേഷവും റിമോട്ട് സെർവറിലോ ഏതെങ്കിലും മെഷീനിലോ ഈ ജോലികൾ പ്രവർത്തിപ്പിക്കുന്നതിന് നമുക്ക് നിരവധി മാർഗങ്ങളുണ്ട്.

Linux-ലെ പ്രക്രിയകൾ മനസ്സിലാക്കുക

ഒരു സെഷന്റെ ആയുസ്സ് ഉള്ളവയാണ് സാധാരണ പ്രക്രിയകൾ. സെഷനിൽ ഫോർഗ്രൗണ്ട് പ്രോസസുകളായി അവ ആരംഭിക്കുകയും നിശ്ചിത സമയ പരിധിയിലോ സെഷൻ ലോഗ് ഔട്ട് ആകുമ്പോഴോ അവസാനിക്കുകയും ചെയ്യും. റൂട്ട് ഉൾപ്പെടെ, സിസ്റ്റത്തിന്റെ ഏതെങ്കിലും സാധുവായ ഉപയോക്താവായി ഈ പ്രക്രിയകൾക്ക് അവയുടെ ഉടമയുണ്ട്.

തുടക്കത്തിൽ ഒരു രക്ഷിതാവ് ഈ പ്രക്രിയ സൃഷ്ടിച്ചു, എന്നാൽ കുറച്ച് സമയത്തിന് ശേഷം, പാരന്റ് പ്രോസസ് അബദ്ധവശാൽ മരിക്കുകയോ തകരുകയോ ചെയ്തതിനെയാണ് അനാഥ പ്രക്രിയകൾ എന്ന് വിളിക്കുന്നത്. അത്തരം പ്രക്രിയകൾക്ക് അവരുടെ ഉടനടി രക്ഷിതാവായി init ഉണ്ട്, അവ മരിക്കുന്നതുവരെ അല്ലെങ്കിൽ അവസാനിക്കുന്നതുവരെ ഈ പ്രക്രിയകൾക്കായി കാത്തിരിക്കുന്നു.

ഇവ മനഃപൂർവ്വം അനാഥമാക്കപ്പെട്ട ചില പ്രക്രിയകളാണ്, സിസ്റ്റത്തിൽ മനഃപൂർവ്വം പ്രവർത്തിക്കാൻ ശേഷിക്കുന്ന അത്തരം പ്രക്രിയകളെ ഡെമൺ അല്ലെങ്കിൽ മനഃപൂർവ്വം അനാഥമായ പ്രക്രിയകൾ എന്ന് വിളിക്കുന്നു. അവ സാധാരണയായി ദീർഘനേരം പ്രവർത്തിക്കുന്ന പ്രക്രിയകളാണ്, അവ ഒരിക്കൽ ആരംഭിക്കുകയും പിന്നീട് ഏതെങ്കിലും കൺട്രോളിംഗ് ടെർമിനലിൽ നിന്ന് വേർപെടുത്തുകയും ചെയ്യുന്നു, അതുവഴി അവ പൂർത്തിയാകുന്നതുവരെ അല്ലെങ്കിൽ ഒരു പിശക് വരുത്തുന്നത് വരെ പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കാൻ കഴിയും. ഇത്തരം പ്രക്രിയകളുടെ രക്ഷിതാവ് മനഃപൂർവ്വം മരിക്കുന്നത്, പശ്ചാത്തലത്തിൽ കുട്ടിയെ വധിക്കുന്നു.

വിച്ഛേദിച്ചതിന് ശേഷവും SSH സെഷൻ പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള സാങ്കേതിക വിദ്യകൾ

താഴെ വിവരിച്ചിരിക്കുന്നത് പോലെ വിച്ഛേദിച്ചതിന് ശേഷം ssh സെഷനുകൾ പ്രവർത്തിപ്പിക്കാൻ വിവിധ മാർഗങ്ങളുണ്ട്:

ഒരേ സമയം ഒന്നിലധികം ടെർമിനൽ സെഷനുകൾ നിയന്ത്രിക്കാനും, സെഷനുകൾക്കിടയിൽ മാറാനും, സ്ക്രീനിൽ റണ്ണിംഗ് സെഷനുകൾക്കായി സെഷൻ ലോഗിംഗ് ചെയ്യാനും, സെഷൻ ലോഗിൻ ചെയ്യപ്പെടുന്നതിനെ കുറിച്ച് ആകുലപ്പെടാതെ ഞങ്ങൾ ആഗ്രഹിക്കുന്ന ഏത് സമയത്തും സെഷൻ പുനരാരംഭിക്കാനും ഉപയോക്താവിനെ അനുവദിക്കുന്ന ലിനക്സിനുള്ള ഒരു ടെക്സ്റ്റ് വിൻഡോ മാനേജറാണ് സ്ക്രീൻ. ഔട്ട് അല്ലെങ്കിൽ ടെർമിനൽ അടച്ചിരിക്കുന്നു.

സ്uക്രീൻ സെഷനുകൾ ആരംഭിക്കുകയും തുടർന്ന് കൺട്രോളിംഗ് ടെർമിനലിൽ നിന്ന് വേർപെടുത്തുകയും അവ പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുകയും പിന്നീട് എപ്പോൾ വേണമെങ്കിലും ഏത് സ്ഥലത്തും പുനരാരംഭിക്കുകയും ചെയ്യാം. സ്uക്രീനിൽ നിങ്ങളുടെ സെഷൻ ആരംഭിക്കേണ്ടതുണ്ട്, നിങ്ങൾക്ക് ആവശ്യമുള്ളപ്പോൾ, കപട ടെർമിനലിൽ നിന്ന് (അല്ലെങ്കിൽ നിയന്ത്രിക്കുന്ന ടെർമിനലിൽ നിന്ന്) വേർപെടുത്തി ലോഗ്ഔട്ട് ചെയ്യുക. നിങ്ങൾക്ക് തോന്നുമ്പോൾ, നിങ്ങൾക്ക് വീണ്ടും ലോഗിൻ ചെയ്യാനും സെഷൻ പുനരാരംഭിക്കാനും കഴിയും.

'screen' കമാൻഡ് ടൈപ്പ് ചെയ്uത ശേഷം, നിങ്ങൾ ഒരു പുതിയ സ്uക്രീൻ സെഷനിലായിരിക്കും, ഈ സെഷനിൽ നിങ്ങൾക്ക് പുതിയ വിൻഡോകൾ സൃഷ്uടിക്കാനും വിൻഡോകൾക്കിടയിൽ സഞ്ചരിക്കാനും സ്uക്രീൻ ലോക്ക് ചെയ്യാനും ഒരു സാധാരണ ടെർമിനലിൽ ചെയ്യാൻ കഴിയുന്ന നിരവധി കാര്യങ്ങൾ ചെയ്യാനും കഴിയും.

$ screen

സ്uക്രീൻ സെഷൻ ആരംഭിച്ചുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ഏത് കമാൻഡും പ്രവർത്തിപ്പിക്കാനും സെഷൻ വേർപെടുത്തിക്കൊണ്ട് സെഷൻ പ്രവർത്തിപ്പിക്കാനും കഴിയും.

നിങ്ങൾക്ക് റിമോട്ട് സെഷനിൽ നിന്ന് ലോഗ് ഔട്ട് ചെയ്യണമെങ്കിൽ, എന്നാൽ ആ മെഷീനിൽ നിങ്ങൾ സൃഷ്ടിച്ച സെഷൻ സജീവമായി നിലനിർത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾ ചെയ്യേണ്ടത് ടെർമിനലിൽ നിന്ന് സ്uക്രീൻ വേർപെടുത്തുക എന്നതാണ്. ഇത് ചെയ്ത ശേഷം, നിങ്ങൾക്ക് സുരക്ഷിതമായി ലോഗ്ഔട്ട് ചെയ്യാം.

റിമോട്ട് ടെർമിനലിൽ നിന്ന് ഒരു സ്uക്രീൻ വേർപെടുത്താൻ, ഉടൻ തന്നെ \Ctrl+a” അമർത്തുക, തുടർന്ന് \d” എന്ന സന്ദേശം കണ്ട് നിങ്ങൾ ടെർമിനലിലേക്ക് മടങ്ങും. സ്uക്രീൻ വേർപെടുത്തിയിരിക്കുന്നു. ഇപ്പോൾ നിങ്ങൾക്ക് സുരക്ഷിതമായി ലോഗ്ഔട്ട് ചെയ്യാം, നിങ്ങളുടെ സെഷൻ സജീവമായി നിലനിൽക്കും.

ലോഗ് ഔട്ട് ചെയ്യുന്നതിന് മുമ്പ് നിങ്ങൾ ഉപേക്ഷിച്ച ഒരു വേർപെടുത്തിയ സ്uക്രീൻ സെഷൻ പുനരാരംഭിക്കണമെങ്കിൽ, റിമോട്ട് ടെർമിനലിലേക്ക് വീണ്ടും ലോഗിൻ ചെയ്uത് ഒരു സ്uക്രീൻ മാത്രമേ തുറന്നിട്ടുള്ളൂ എങ്കിൽ \screen -r എന്ന് ടൈപ്പ് ചെയ്യുക. ഒന്നിലധികം സ്uക്രീൻ സെഷനുകൾ തുറക്കുന്നു \screen -r .

$ screen -r
$ screen -r <pid.tty.host>

സ്uക്രീൻ കമാൻഡിനെക്കുറിച്ചും അത് എങ്ങനെ ഉപയോഗിക്കാമെന്നതിനെക്കുറിച്ചും കൂടുതലറിയാൻ ലിങ്ക് പിന്തുടരുക: Linux ടെർമിനൽ സെഷനുകൾ നിയന്ത്രിക്കാൻ സ്uക്രീൻ കമാൻഡ് ഉപയോഗിക്കുക

സ്uക്രീനിനു പകരമായി സൃഷ്uടിച്ച മറ്റൊരു സോഫ്റ്റ്uവെയറാണ് Tmux. ഇതിന് സ്uക്രീനിന്റെ മിക്ക കഴിവുകളും ഉണ്ട്, കുറച്ച് അധിക ശേഷികൾ സ്uക്രീനേക്കാൾ ശക്തമാക്കുന്നു.

സ്uക്രീൻ വാഗ്ദാനം ചെയ്യുന്ന എല്ലാ ഓപ്uഷനുകൾക്കും പുറമെ, ഒന്നിലധികം വിൻഡോകൾക്കിടയിൽ പാനുകൾ തിരശ്ചീനമായോ ലംബമായോ വിഭജിക്കുന്നത്, വിൻഡോ പാളികളുടെ വലുപ്പം മാറ്റൽ, സെഷൻ ആക്uറ്റിവിറ്റി മോണിറ്ററിംഗ്, കമാൻഡ് ലൈൻ മോഡ് ഉപയോഗിച്ചുള്ള സ്uക്രിപ്റ്റിംഗ് മുതലായവ ഇത് അനുവദിക്കുന്നു. tmux-ന്റെ ഈ സവിശേഷതകൾ കാരണം, ഇത് ഏകദേശം വ്യാപകമായ സ്വീകാര്യത ആസ്വദിക്കുന്നു. എല്ലാ Unix വിതരണങ്ങളും കൂടാതെ ഇത് OpenBSD യുടെ അടിസ്ഥാന സിസ്റ്റത്തിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

റിമോട്ട് ഹോസ്റ്റിൽ ssh ചെയ്uത് tmux ടൈപ്പ് ചെയ്uത ശേഷം, നിങ്ങളുടെ മുന്നിൽ ഒരു പുതിയ വിൻഡോ തുറക്കുന്ന ഒരു പുതിയ സെഷനിൽ നിങ്ങൾ പ്രവേശിക്കും, അതിൽ നിങ്ങൾക്ക് ഒരു സാധാരണ ടെർമിനലിൽ എന്തും ചെയ്യാനാകും.

$ tmux

ടെർമിനലിൽ നിങ്ങളുടെ പ്രവർത്തനങ്ങൾ നടത്തിയ ശേഷം, നിങ്ങൾക്ക് ആ സെഷൻ കൺട്രോളിംഗ് ടെർമിനലിൽ നിന്ന് വേർപെടുത്താവുന്നതാണ്, അതുവഴി അത് പശ്ചാത്തലത്തിലേക്ക് പോകുകയും നിങ്ങൾക്ക് സുരക്ഷിതമായി ലോഗ്ഔട്ട് ചെയ്യുകയും ചെയ്യാം.

ഒന്നുകിൽ നിങ്ങൾക്ക് tmux സെഷനിൽ \tmux detach” പ്രവർത്തിപ്പിക്കാം അല്ലെങ്കിൽ നിങ്ങൾക്ക് (Ctrl+b തുടർന്ന് d) എന്ന കുറുക്കുവഴി ഉപയോഗിക്കാം. ഇതിന് ശേഷം നിങ്ങളുടെ നിലവിലെ സെഷൻ വേർപെടുത്തുകയും ചെയ്യും നിങ്ങൾക്ക് സുരക്ഷിതമായി ലോഗ് ഔട്ട് ചെയ്യാൻ കഴിയുന്ന ടെർമിനലിലേക്ക് തിരികെ വരും.

$ tmux detach

നിങ്ങൾ സിസ്റ്റത്തിൽ നിന്ന് ലോഗ് ഔട്ട് ചെയ്യുമ്പോൾ നിങ്ങൾ വേർപെടുത്തിയതും അവശേഷിക്കുന്നതുമായ സെഷൻ വീണ്ടും തുറക്കുന്നതിന്, റിമോട്ട് മെഷീനിൽ വീണ്ടും ലോഗിൻ ചെയ്uത് അടച്ച സെഷനിലേക്ക് വീണ്ടും അറ്റാച്ചുചെയ്യുന്നതിന് \tmux attach എന്ന് ടൈപ്പ് ചെയ്യുക, അത് അപ്പോഴും അവിടെ ഉണ്ടായിരിക്കും. പ്രവർത്തിക്കുന്ന.

$ tmux attach

tmux-നെക്കുറിച്ചും അത് എങ്ങനെ ഉപയോഗിക്കാമെന്നതിനെക്കുറിച്ചും കൂടുതലറിയാൻ ലിങ്ക് പിന്തുടരുക: ഒന്നിലധികം ലിനക്സ് ടെർമിനലുകൾ നിയന്ത്രിക്കാൻ Tmux ടെർമിനൽ മൾട്ടിപ്ലക്സർ ഉപയോഗിക്കുക.

നിങ്ങൾക്ക് സ്uക്രീനോ tmux-നോ അത്ര പരിചിതമല്ലെങ്കിൽ, നിങ്ങൾക്ക് nohup ഉപയോഗിക്കാനും നിങ്ങളുടെ ദീർഘകാല കമാൻഡ് പശ്ചാത്തലത്തിലേക്ക് അയയ്uക്കാനും കഴിയും, അതുവഴി നിങ്ങൾക്ക് പശ്ചാത്തലത്തിൽ കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്uതുകൊണ്ടിരിക്കുമ്പോൾ തുടരാം. അതിനുശേഷം നിങ്ങൾക്ക് സുരക്ഷിതമായി ലോഗ് ഔട്ട് ചെയ്യാം.

nohup കമാൻഡ് ഉപയോഗിച്ച്, അവസാനിപ്പിക്കുമ്പോൾ ssh സെഷൻ അയച്ച SIGHUP സിഗ്നൽ അവഗണിക്കാൻ ഞങ്ങൾ പ്രക്രിയയോട് പറയുന്നു, അങ്ങനെ സെഷൻ ലോഗ്ഔട്ടിനു ശേഷവും കമാൻഡ് നിലനിൽക്കും. സെഷൻ ലോഗ്ഔട്ടിൽ, ടെർമിനൽ നിയന്ത്രിക്കുന്നതിൽ നിന്ന് കമാൻഡ് വേർപെടുത്തുകയും ഡെമൺ പ്രോസസ്സ് ആയി പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുകയും ചെയ്യുന്നു.

നോഹപ്പ് ഉപയോഗിച്ച് ssh സെഷനിൽ പശ്ചാത്തലത്തിൽ ഫയലുകൾ തിരയാൻ ഞങ്ങൾ find കമാൻഡ് പ്രവർത്തിപ്പിച്ചിരിക്കുന്ന ലളിതമായ ഒരു സാഹചര്യം ഇവിടെയുണ്ട്, അതിന് ശേഷം ടാസ്uക്ക് പശ്ചാത്തലത്തിലേക്ക് അയയ്uക്കുകയും പ്രോംപ്uറ്റ് തിരികെ നൽകുകയും ചെയ്uത് ഉടൻ തന്നെ PID യും പ്രോസസിന്റെ ജോബ് ഐഡിയും നൽകി ([ JOBID] PID).

# nohup find / -type f $gt; files_in_system.out 2>1 &

നിങ്ങൾ വീണ്ടും ലോഗിൻ ചെയ്യുമ്പോൾ, നിങ്ങൾക്ക് കമാൻഡിന്റെ നില പരിശോധിക്കാം, അതിന്റെ പുരോഗതി നിരീക്ഷിക്കുന്നതിനും മറ്റും fg %JOBID ഉപയോഗിച്ച് അതിനെ മുൻവശത്തേക്ക് തിരികെ കൊണ്ടുവരിക. താഴെ, റീ-ലോഗിൻ ചെയ്യുന്നതിൽ കാണിക്കാത്തതിനാൽ ജോലി പൂർത്തിയായതായി ഔട്ട്uപുട്ട് കാണിക്കുന്നു, കൂടാതെ പ്രദർശിപ്പിച്ചിരിക്കുന്ന ഔട്ട്uപുട്ട് നൽകിയിരിക്കുന്നു.

# fg %JOBID

നിങ്ങളുടെ കമാൻഡിനെയോ ഒരൊറ്റ ടാസ്uക്കിനെയോ പശ്ചാത്തലത്തിൽ പ്രവർത്തിപ്പിക്കുന്നതിനും സെഷൻ ലോഗ്ഔട്ട് അല്ലെങ്കിൽ വിച്ഛേദിച്ചതിനു ശേഷവും സജീവമായി തുടരുന്നതിനും അനുവദിക്കുന്നതിനുള്ള മറ്റൊരു ഗംഭീരമായ മാർഗ്ഗം നിരസിക്കുക എന്നതാണ്.

നിരസിക്കുക, സിസ്റ്റത്തിന്റെ പ്രോസസ്സ് ജോബ് ലിസ്റ്റിൽ നിന്ന് ജോലി നീക്കം ചെയ്യുന്നു, അതിനാൽ നിങ്ങൾ ലോഗ്ഔട്ട് ചെയ്യുമ്പോൾ ഷെല്ലിന് SIGHUP ലഭിക്കാത്തതിനാൽ സെഷൻ വിച്ഛേദിക്കുമ്പോൾ പ്രക്രിയ നശിപ്പിക്കപ്പെടുന്നതിൽ നിന്ന് സംരക്ഷിക്കപ്പെടുന്നു.

ഈ രീതിയുടെ പോരായ്മ എന്തെന്നാൽ, നിങ്ങൾ ജോലിയുടെ ഇൻപുട്ടും ഔട്ട്uപുട്ടും പ്രത്യേകമായി റീഡയറക്uട് ചെയ്യുന്നില്ലെങ്കിൽ, stdin-ൽ നിന്ന് ഇൻപുട്ട് ആവശ്യമില്ലാത്തതും stdout-ലേക്ക് എഴുതേണ്ടതുമായ ജോലികൾക്ക് മാത്രമേ ഇത് ഉപയോഗിക്കാവൂ, കാരണം ജോലി എപ്പോൾ stdin-മായി സംവദിക്കാൻ ശ്രമിക്കും. അല്ലെങ്കിൽ stdout, അത് നിലക്കും.

ചുവടെ, ഞങ്ങൾ പിംഗ് കമാൻഡ് പശ്ചാത്തലത്തിലേക്ക് അയച്ചു, അതുവഴി യുടി പ്രവർത്തിക്കുന്നത് തുടരുകയും ജോലി ലിസ്റ്റിൽ നിന്ന് നീക്കം ചെയ്യുകയും ചെയ്യും. കാണുന്നത് പോലെ, ജോലി ആദ്യം താൽക്കാലികമായി നിർത്തിവച്ചു, അതിനുശേഷം അത് പ്രോസസ് ഐഡി: 15368 ആയി ജോലിയുടെ പട്ടികയിൽ തുടർന്നു.

$ ping linux-console.net > pingout &
$ jobs -l
$ disown -h %1
$ ps -ef | grep ping

അതിനുശേഷം, നിരസിക്കാനുള്ള സിഗ്നൽ ജോലിക്ക് കൈമാറി, അത് ഇപ്പോഴും പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുന്നുണ്ടെങ്കിലും ജോലി ലിസ്റ്റിൽ നിന്ന് നീക്കം ചെയ്തു. താഴെ കാണുന്നത് പോലെ നിങ്ങൾ റിമോട്ട് സെർവറിലേക്ക് വീണ്ടും ലോഗിൻ ചെയ്യുമ്പോൾ ജോലി തുടർന്നും പ്രവർത്തിക്കും.

$ ps -ef | grep ping

ആവശ്യമായ സ്വഭാവം കൈവരിക്കുന്നതിനുള്ള മറ്റൊരു യൂട്ടിലിറ്റി സെറ്റ്സിഡ് ആണ്. നോഹപ്പിന് ഒരു പോരായ്മയുണ്ട്, അതിനാൽ പ്രോസസ്സിന്റെ പ്രോസസ്സ് ഗ്രൂപ്പ് അതേപടി തുടരുന്നു, അതിനാൽ nohup ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്ന പ്രോസസ്സ് മുഴുവൻ പ്രോസസ്സ് ഗ്രൂപ്പിലേക്കും (Ctrl + C പോലെ) അയയ്uക്കുന്ന ഏത് സിഗ്നലിനും ദുർബലമാണ്.

സെറ്റ്uസിഡ് എക്uസിക്യൂട്ട് ചെയ്യുന്ന പ്രക്രിയയ്uക്ക് ഒരു പുതിയ പ്രോസസ് ഗ്രൂപ്പിനെ അനുവദിക്കും, അതിനാൽ, സൃഷ്uടിച്ച പ്രോസസ്സ് പൂർണ്ണമായും പുതുതായി അനുവദിച്ച പ്രോസസ് ഗ്രൂപ്പിലാണ്, കൂടാതെ സെഷൻ ലോഗ്ഔട്ടിനു ശേഷവും കൊല്ലപ്പെടുമെന്ന ഭയമില്ലാതെ സുരക്ഷിതമായി നടപ്പിലാക്കാൻ കഴിയും.

ഇവിടെ, 'sleep 10m' എന്ന പ്രക്രിയ, അത് സൃഷ്ടിച്ച സമയം മുതൽ, കൺട്രോളിംഗ് ടെർമിനലിൽ നിന്ന് വേർപെടുത്തിയതായി കാണിക്കുന്നു.

$ setsid sleep 10m
$ ps -ef | grep sleep

ഇപ്പോൾ, നിങ്ങൾ സെഷൻ വീണ്ടും ലോഗിൻ ചെയ്യുമ്പോൾ, ഈ പ്രക്രിയ പ്രവർത്തിക്കുന്നത് നിങ്ങൾ കണ്ടെത്തും.

$ ps -ef | grep [s]leep

ഉപസംഹാരം

നിങ്ങൾ SSH സെഷനിൽ നിന്ന് ലോഗ്ഔട്ട് ചെയ്തതിന് ശേഷവും നിങ്ങളുടെ പ്രോസസ്സ് പ്രവർത്തിപ്പിക്കുന്നത് നിലനിർത്താൻ നിങ്ങൾക്ക് എന്ത് വഴികൾ ചിന്തിക്കാനാകും? നിങ്ങൾക്ക് ചിന്തിക്കാൻ കഴിയുന്ന മറ്റേതെങ്കിലും കാര്യക്ഷമമായ മാർഗമുണ്ടെങ്കിൽ, നിങ്ങളുടെ അഭിപ്രായങ്ങളിൽ പരാമർശിക്കുക.