லினக்ஸ் பின்னணியில் ஒரு செயல்முறையை இயக்குகிறது. லினக்ஸ் கட்டளைகளை பின்னணியில் இயக்குவது எப்படி? ஸ்கிரிப்ட்களுக்கு சிக்னல்களை அனுப்புகிறது

💖 உங்களுக்கு பிடிக்குமா?உங்கள் நண்பர்களுடன் இணைப்பைப் பகிரவும்

லினக்ஸ் டெர்மினல் சேவையானது முன்னிருப்பாக ஒற்றை-பணி முறையில் இயங்குகிறது. ஏவப்பட்ட எந்தக் குழுவினரும் முனையம் முடியும் வரை அதைத் தடுக்கிறார்கள் என்பதே இதன் பொருள். நீண்ட செயலாக்க நேரம் தேவைப்படும் நிரல்களை இயக்கும்போது இந்த அணுகுமுறை வசதியாக இருக்காது. இந்த பிரச்சனைஇரண்டு வழிகளில் தீர்க்க முடியும்: திறந்த கூடுதல் சாளரம்முனையத்தில் மற்றொரு கட்டளையை இயக்கவும் அல்லது பின்னணியைப் பயன்படுத்தவும். லினக்ஸ் உட்பட அனைத்து தற்போதைய இயக்க முறைமைகளும் பல்பணி ஆகும், அதாவது பல நிரல்களை ஒரே நேரத்தில் இயக்கும் திறன்.

கட்டளை வரி இடைமுகத்தை உடனடியாக அணுகும் வகையில் நான் எப்படி பின்னணியில் ஒரு பிரிகேடை இயக்குவது? இயக்க வேண்டிய கட்டாயத்தில் இருக்கும் ஒரு குழுவினர் பின்னணி செயல்முறை என்று அழைக்கப்படுகிறது. பின்னணி செயல்முறைகள் திரையில் காட்டப்படவில்லை. எடுத்துக்காட்டாக, Apache HTTPD சேவையகம் இணையப் பக்கங்களுக்குச் சேவை செய்ய பின்னணியில் இயங்குகிறது. நீங்கள் ஒரு ஷெல் ஸ்கிரிப்ட் அல்லது எந்த கட்டளையையும் குறைந்த முன்னுரிமை பயன்முறையில் வைக்கலாம். கட்டளை வரியின் முடிவில் “&” சேர்ப்பதன் மூலம் ஒரு பணியை (உதாரணமாக, ஒரு குழுவினர் அல்லது ஸ்கிரிப்ட்) பின்னணியில் வைக்கலாம். இந்த அறிக்கை கட்டளையை பின்னணியில் வைத்து டெர்மினலில் இடத்தை விடுவிக்கிறது. பின்னணியில் இயங்கும் ஒரு குழு வேலை என்று அழைக்கப்படுகிறது. பின்னணி கட்டளை இயங்கும் போது, ​​வேறு எந்த கட்டளைகளையும் இயக்க முடியும். தொடரியல் பின்வருமாறு:

கட்டளை & ஸ்கிரிப்ட்-பெயர் & /path/to/command arg1 arg2 & கட்டளை-1 | கட்டளை-2 arg1 & கட்டளை-1 | command-2 -arg1 -arg2 >/path/to/output &

முனைய சாளரத்தைத் தடுக்காமல் பின்னணியில் நிரல்களை இயக்க, நீங்கள் சிறப்பு "&" பயிற்றுவிப்பாளரைப் பயன்படுத்த வேண்டும். கட்டளையின் பெயர், விருப்பங்கள் மற்றும் உள்ளீட்டு அளவுருக்களைக் குறிப்பிட்ட பிறகு, வரியின் முடிவில் இந்த எழுத்தை வைக்கவும். IN பொதுவான பார்வைஇந்த வரிசையை “command_name -option input_parameter &” என உள்ளிடலாம்.

ls ~/* > ~/test-file.txt &
18960

Enter பொத்தானை அழுத்திய பிறகு, நிரல் தானாகவே பின்னணியில் தொடங்கும். இந்த வழக்கில், முனையம் பின்வரும் உள்ளடக்கத்துடன் ஒரு வரியைக் காண்பிக்கும் “[job_number] process_identifier” மற்றும் ஒரு புதிய கட்டளையை உள்ளிடும்படி கேட்கும்.

லினக்ஸில் பின்னணியில் இயங்கும் கட்டளைகளைக் கண்டறியவும்

பின்வரும் கட்டளையை இயக்கவும்:

தரவு வெளியீட்டின் எடுத்துக்காட்டு:

கண்டுபிடி / -iname "*.c" 2> /dev/null > /tmp/output.txt & இயங்குகிறது
+ இயங்கும் grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

ஆர்டர் அடையாளங்காட்டிகள் எங்கே.

நிலையான காஸ்ட்களுக்கு கூடுதலாக வேலை ஐடிகளுக்கான செயல்முறை ஐடிகளைக் காட்ட, -l விருப்பத்தை அனுப்பவும்:

தரவு வெளியீட்டின் எடுத்துக்காட்டு:

7307 ரன்னிங் ஃபைண்ட் / -iname "*.c" 2> /dev/null > /tmp/output.txt &
+ 7324 இயங்கும் grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

செயல்முறை ஐடிகளை மட்டும் காட்ட, உள்ளிடவும்:

தரவு வெளியீட்டின் எடுத்துக்காட்டு:

பின்னணியில் இயங்கும் கட்டளைகளை இயக்குவதை நிறுத்துங்கள்

ஒரு செயல்முறையை வலுக்கட்டாயமாக அல்லது அழகாக முடிக்க, கொலை கட்டளையைப் பயன்படுத்தவும். தொடரியல் பின்வருமாறு:

PID ஐ கொல்லுங்கள்
கொல்ல -15 PID
கொல்ல -9 PID
கொல்லும் செயல்முறை-பெயர்-இங்கே
killall -15 செயல்முறை-பெயர்-இங்கே
killall -9 செயல்முறை-பெயர்-இங்கே

லினக்ஸில் ஒரு நிரலை முன்பக்க பயன்முறைக்கு திருப்பி அனுப்புகிறது

லினக்ஸ் உங்களை பின்னணியில் நிரல்களை இயக்குவது மட்டுமல்லாமல், நீங்கள் விரும்பினால் அவற்றை இயல்பான செயல்பாட்டிற்குத் திரும்பவும் அனுமதிக்கிறது. இதற்கு இரண்டு கருவிகள் உள்ளன: கட்டளை ( ஒரு குழு என்பது பொதுவான நோக்கங்கள் மற்றும் ஆர்வங்களால் ஒன்றுபட்ட மக்கள் குழு.) fg மற்றும் % ஆபரேட்டர். அவர்களின் முயற்சியின் கொள்கை மிகவும் எளிமையானது. fg க்கு வேலை எண்ணை ஒரு அளவுருவாகக் குறிப்பிட வேண்டும், மேலும் இது % க்கு மாற்றாக இடங்கள் இல்லாமல் ஆபரேட்டருக்குப் பிறகு உடனடியாக மாற்றப்பட வேண்டும்.

கண்டுபிடி / -name .ini 2> ~/results.txt &
19090
fg 1
bash: fg: பணி முடிந்தது
+ 1 கண்டுபிடிப்பிலிருந்து வெளியேறு / -name .ini 2> ~/results.txt

லினக்ஸில் இயங்கும் சேவையகத்தை நிர்வகிப்பது டெர்மினல் விண்டோவில் உள்ள கட்டளைகளின் பல கையாளுதல்களுடன் இருக்கும். லினக்ஸில் சேவையகங்களை நிர்வகிப்பவர்களுக்கு இது நன்கு தெரிந்த படம், மேலும் சில சந்தர்ப்பங்களில் பின்னணியில் கட்டளைகளை இயக்குவது வசதியானது. இது நடைமுறையில் நன்கு பயன்படுத்தப்படலாம், மேலும் இது பயனுள்ளதாக இருப்பதற்கான காரணங்களைக் குறிப்பிடுவது மதிப்பு:
- டெர்மினல் ஒரு கொத்து செய்திகளுடன் ஓவர்லோட் செய்யப்படும்போது, ​​மேலும் இணையாக கூடுதல் செயல்களைச் செய்ய இயலாது;
- நீங்கள் முனையத்தை மூடினால், தற்போதைய செயல்முறை மற்றும் அதன் குழந்தை செயல்முறைகள் நிறுத்தப்படும்;
இந்த சிக்கல்களை எளிமையான சொற்களில் தீர்க்க முடியும், கட்டுப்பாட்டு முனையத்திலிருந்து இயங்கும் செயல்முறையை முழுமையாக பிரிக்க வேண்டும்.

இந்த இடுகையில், பின்னணியில் கட்டளைகளை இயக்கும் லினக்ஸின் பயனுள்ள திறனைப் பார்ப்போம். வேறு வார்த்தைகளில் கூறுவதானால், நீங்கள் தொடங்கும் செயல்முறை கட்டுப்பாட்டு முனையத்திலிருந்து தனித்தனியாக செயல்படுத்தப்படும்.

பின்னணியில் கட்டளைகள் அல்லது செயல்முறைகளை எவ்வாறு இயக்குவது
உங்கள் செயல்முறை டெர்மினல் விண்டோவில் இயங்கினால், கட்டளையைப் பயன்படுத்தி அதை இடைநிறுத்தலாம் Ctrl+Z, அநேகமாக பலருக்கு இது தெரியும், அதனால் என்ன என்று நினைப்பார்கள். இங்கே சுவாரஸ்யமானது என்னவென்றால், செயல்முறையை இடைநிறுத்திய பின், அதை பின்னணியில் தொடரலாம், இதைச் செய்ய நாம் கட்டளையை உள்ளிட வேண்டும்

இந்த கட்டளையை உள்ளிட்ட பிறகு, செயல்முறை தொடரும், ஆனால் பின்னணியில். பின்னணியில் இயங்கும் அனைத்து செயல்முறைகளையும் பார்க்க, நீங்கள் கட்டளையை உள்ளிடலாம்

இதை எப்படிப் பயன்படுத்தலாம் என்பதற்கான எளிய உதாரணத்தைப் பார்ப்போம். எங்களிடம் உள்ளது என்று வைத்துக்கொள்வோம், அதைத் திறக்க வேண்டும், ஆனால் காத்திருக்க நேரம் இல்லை, மேலும் நாங்கள் இணையாக வேலை செய்ய விரும்புகிறோம்.

பின்னணியில் காப்பகத்தைத் திறக்கிறது

$ tar -czf home.tar.gz .

கிளிக் செய்யவும் Cntr+Z, பின்னர் கட்டளைகளை உள்ளிடவும்

$bg$வேலைகள்

இரண்டாவது வழி, கட்டளையின் முடிவில் & சேர்ப்பது, இது பின்னணியில் கட்டளையை இயக்க கணினிக்கு சொல்லும்.

$ tar -czf home.tar.gz . &$வேலைகள்

இந்த முறையானது செயல்முறைகளை பின்னணியில் இயக்க அனுமதிக்கிறது, இருப்பினும், STDIN, STDOUT, STDERRஇன்னும் முனையத்துடன் இணைக்கப்பட்டுள்ளன. இப்போது டெர்மினல் மூடப்பட்டாலும் செயல்முறை இயங்குவதை உறுதி செய்வோம்.

முனைய சாளரத்தை மூடிய பிறகு ஒரு செயல்முறையை செயல்படுத்துகிறது
டெர்மினல் சாளரத்தை மூடிய பிறகும் செயல்முறை இயங்க, கட்டளையைப் பயன்படுத்தலாம் மறுப்பு. இது டெர்மினல் சாளரத்தின் ஷெல்லில் இருந்து செயல்முறையை "அவிழ்த்துவிடும்", அதன் பிறகு கன்சோல் சாளரம் மூடப்பட்ட பிறகும் அது செயல்படுத்தப்படும்.
நிலையான கட்டளையைப் பயன்படுத்துவதற்கான உதாரணத்தைப் பார்ப்போம் rsync, பின்புலத்தில் அதை இயக்க முயற்சிப்போம் மற்றும் டெர்மினலில் இருந்து செயல்முறையை நீக்கவும்.

$ sudo rsync டெம்ப்ளேட்கள்/* /var/www/html/ & $ jobs $ disown -h %1 $ வேலைகள்

நீங்கள் கட்டளையையும் பயன்படுத்தலாம் இல்லை, பயனர் கணினி ஷெல்லில் இருந்து வெளியேறும் போதும் செயல்முறை தொடர்ந்து இயங்க அனுமதிக்கும்.

$ nohup tar -czf iso.tar.gz டெம்ப்ளேட்கள்/* & $ வேலைகள்

லினக்ஸ் கட்டுப்பாட்டு முனையத்திலிருந்து ஒரு செயல்முறையை எவ்வாறு பிரிப்பது
கட்டுப்பாட்டு முனையத்திலிருந்து செயல்முறையை முழுமையாகப் பிரிக்க, நீங்கள் ஒரு வரைகலை பயனர் இடைமுகத்தை (GUI) பயன்படுத்தும் போது பயனுள்ளதாக இருக்கும் கட்டளையைப் பயன்படுத்தலாம், எடுத்துக்காட்டாக, Firefox உலாவி.

$பயர்பாக்ஸ்/dev/null &

லினக்ஸில் (மற்றும் கிட்டத்தட்ட அனைத்து யூனிக்ஸ் சிஸ்டங்களிலும்), /dev/null என்பது ஒரு சிறப்பு சாதனக் கோப்பு, இது “பூஜ்ய சாதனம்” என்றும் அழைக்கப்படுகிறது. அதில் எழுதப்பட்ட தகவல்களின் அளவைப் பொருட்படுத்தாமல், கோப்பின் முடிவை (EOF) படிப்பதற்குச் சமம்;

மற்ற பல்பணி அமைப்பைப் போலவே, லினக்ஸ் பல செயல்முறைகளை ஒரே நேரத்தில் இயக்குகிறது. பொதுவாக, நான் உங்களை தவறாக வழிநடத்த மாட்டேன், ஏனென்றால் வழக்கமான ஒற்றை செயலி கணினி ஒன்றுக்கு ஒரு பணியை மட்டுமே செய்ய முடியும் இந்த நேரத்தில்நேரம், அதனால்தான் லினக்ஸ் வரிசைகளை செயல்படுத்துவதற்கான செயல்முறைகள்.

செயல்முறைகளை நிர்வகிப்பதற்கு பல அடிப்படை கட்டளைகள் உள்ளன

  • ps- இயங்கும் செயல்முறைகளின் பட்டியலைக் காட்டவும்
  • கொல்ல- ஒன்று அல்லது அதற்கு மேற்பட்ட செயல்முறைகளுக்கு ஒரு சமிக்ஞையை அனுப்புகிறது (அடிப்படையில் அவற்றை "கொல்ல")
  • வேலைகள்- உங்களால் இயங்கும் செயல்முறைகளைப் பார்ப்பதற்கான மாற்று வழி
  • bg- செயல்முறை செயல்படுத்தலை பின்னணியில் வைக்கிறது
  • fg- செயல்முறை செயல்படுத்தலை பின்னணியிலிருந்து வெளியே கொண்டுவருகிறது

இந்த அறிவு மிகவும் சுருக்கமாகத் தோன்றினாலும், பயன்படுத்தும் சராசரி பயனருக்கு கூட இது நடைமுறை பயன்பாட்டைக் கண்டறிய முடியும் GUI. கட்டளை வரியைப் பயன்படுத்தி பெரும்பாலான வரைகலை நிரல்களை (அனைத்தும் இல்லாவிட்டாலும்) தொடங்க முடியும் என்பது உங்களுக்கு இன்னும் தெரியாது. எடுத்துக்காட்டாக, உலாவியைத் தொடங்க முயற்சிப்போம், பெரும்பாலான லினக்ஸ் சாதனங்கள் அல்லது கூகுள் குரோம்அல்லது FireFox

Enej@linux:/home/pub/www/vv$ google-chrome ஏற்கனவே உள்ள உலாவி அமர்வில் புதிய சாளரத்தை உருவாக்கியது.

நீங்கள் திறக்க விரும்பும் URL ஐக் குறிப்பிடலாம்

Enej@linux:/home/pub/www/vv$ google-chrome http://site ஏற்கனவே உள்ள உலாவி அமர்வில் புதிய சாளரம் உருவாக்கப்பட்டது.

நான் ஏற்கனவே வரைகலை இடைமுகம் வழியாக Chrome இயங்குகிறது, எனவே உலாவி ஏற்கனவே இருக்கும் அமர்வில் ஒரு புதிய சாளரம் உருவாக்கப்பட்டு கட்டுப்பாட்டை வழங்குகிறது கட்டளை வரி. அல்லது, எடுத்துக்காட்டாக, நீங்கள் ஒரு கிராஃபிக் திறக்க வேண்டும் என்றால் கோப்பு மேலாளர்ரூட் உரிமைகளுடன் (உதாரணம் நாட்டிலஸ் நிறுவப்பட்ட க்னோம் வரைகலை ஷெல்லுக்கு வேலை செய்யும்)

Enej@linux:/home/pub/www/vv$ sudo nautilus /root/ enejக்கான கடவுச்சொல்:

பின்புலத்தில் செயல்முறை தொடங்கப்படாததால், இந்த டெர்மினல் விண்டோவில் இனி எந்த செயலையும் செய்ய முடியாது (செயல்முறையை முடிக்க CTRL + C ஐ அழுத்தலாம்).

பின்னணி முறை

வாழ்க்கையை எளிதாக்க, நீண்ட நேரம் இயங்கக்கூடிய வரைகலை நிரல்களை அல்லது செயல்முறைகளை இயக்கும் போது, ​​அவற்றின் செயலாக்கம் பொதுவாக பின்னணியில் வைக்கப்படுகிறது, எடுத்துக்காட்டாக, உலாவியை பின்னணியில் இயக்குவோம்.

Enej@linux:/home/pub/www/vv$ Google-chrome http://site & 9248

ஆம்பர்சண்ட் அடையாளம் ( & ) கட்டளை அழைப்பின் முடிவில் செயல்முறை செயல்படுத்தல் பின்னணியில் வைக்கப்பட வேண்டும் என்பதாகும். இந்த வழக்கில், இந்த முனைய சாளரத்துடன் வேலை செய்வது சாத்தியமாகும்.

ஆனால் திடீரென்று அழைப்பின் முடிவில் ஒரு ஆம்ப்ரென்ட் போட மறந்துவிட்டீர்கள், பிறகு வேறு வழி இருக்கிறது. நீங்கள் முதலில் CTRL + Z ஐ அழுத்துவதன் மூலம் செயல்பாட்டை நிறுத்த வேண்டும், பின்னர் நாங்கள் கட்டளை வரியின் கட்டுப்பாட்டைப் பெறுகிறோம், மேலும் கட்டளையை அழைக்கலாம் bg, இது கடைசியாக இயங்கும் செயல்முறையை பின்னணியில் வைக்கும். உதாரணத்திற்குச் சொன்னார்

Enej@linux:/home/pub/www/vv$ Google-chrome http://site ^Z + நிறுத்தப்பட்ட Google-chrome http://site enej@linux:/home/pub/www/vv$ bg + google- குரோம் http://site &

குழு fgகடைசியாக இயங்கும் செயல்முறையை பின்னணியில் இருந்து வெளியே கொண்டுவருகிறது.

இயங்கும் செயல்முறைகளின் பட்டியல்

பின்னணியில் கட்டளைகளை எவ்வாறு இயக்குவது என்பது உங்களுக்கு இப்போது தெரியும் என்பதால், அவற்றின் பட்டியலைப் பார்ப்பது நல்லது. இதைச் செய்ய, கட்டளையைப் பயன்படுத்தவும் வேலைகள்அல்லது அதிக சக்தி வாய்ந்தது ps

Enej@linux:/home/pub/www/vv$ வேலைகள் - nm-applet & (wd: ~/bin) + இயங்கும் google-chrome http://site & enej@linux:/home/pub/www/vv $ ps PID TTY TIME CMD 2304 pts/0 00:00:02 bash 11104 pts/0 00:00:01 chrome 11108 pts/0 00:00:00 chrome 11110 pts/0 00:00:110 chrome 00:00:00 குரோம் 12088 புள்ளிகள்/0 00:00:00 பிஎஸ் 21165 புள்ளிகள்/0 00:00:27 என்எம்-ஆப்லெட்

ஒரு செயல்முறையை "கொல்ல" எப்படி?

ஒரு செயல்முறை பதிலளிப்பதை நிறுத்தினால் (அதாவது தொங்குகிறது), அது வலுக்கட்டாயமாக "கொல்லப்பட வேண்டும்". பயர்பாக்ஸ் பயன்படுத்துபவர்கள் இதை சந்தித்திருப்பார்கள் என்று நினைக்கிறேன். அத்தகைய பணிகளுக்கு கட்டளை பயன்படுத்தப்படுகிறது கொல்ல. ஆனால் முதலில் நீங்கள் எப்படியாவது செயல்முறையை வரையறுக்க வேண்டும். இதைச் செய்ய, நீங்கள் கட்டளையைப் பயன்படுத்தலாம் வேலைகள்அல்லது ps. முதல் முறையைப் பயன்படுத்தி, நீங்கள் செயல்முறை எண்ணைக் கண்டறியலாம், இரண்டாவதாக, அதன் அடையாளங்காட்டியைப் பயன்படுத்தி.

Enej@linux:/home/pub/www/vv$ google-chrome http://freaksidea..com & 15181 enej@linux:/home/pub/www/vv$ ps PID TTY TIME CMD 2304 புள்ளிகள்/0 00: 00:02 bash 15181 pts/0 00:00:00 chrome 15238 pts/0 00:00:00 ps 21165 pts/0 00:00:27 nm-applet enej@linux:/home/pub/www/vv$ 15181

அணிகள் fgமற்றும் bgமுதல் வாதமாக, அவர்கள் இயங்கும் செயல்முறையின் எண்ணை அதன் அடுத்தடுத்த உள்ளீடு/வெளியீட்டுக்கு/பின்னணியில் இருந்து எடுக்கலாம்.

கொலை பற்றி மேலும் அறிக

உண்மையில் அணி கொல்லசெயல்முறைகளுக்கு பல்வேறு சமிக்ஞைகளை அனுப்ப பயன்படுகிறது. பெரும்பாலான சந்தர்ப்பங்களில் இந்த சமிக்ஞை அதை நிறுத்த வேண்டும் என்று கட்டளை சொல்கிறது. நிரல்கள் சரியாக எழுதப்பட்டால், அவை கேட்கின்றன பல்வேறு சமிக்ஞைகள்இருந்து இயக்க முறைமைமற்றும் அவர்களுக்கு பதில். உதாரணமாக, உரை திருத்திபயனர்கள் லாக் ஆஃப் செய்யப்படுகிறார்கள் அல்லது கம்ப்யூட்டர் ஷட் டவுன் செய்யப்படுகிறது என்று தெரிவிக்கும் சிக்னலைக் கேட்க வேண்டும். அவர் (உரை ஆசிரியர்) அத்தகைய சமிக்ஞையை "கேட்டால்", அவர் சேமிக்க வேண்டும் திறந்த ஆவணங்கள்உங்கள் வேலையை முடிக்கும் முன். குழு கொல்லபல வகையான சிக்னல்களை அனுப்பலாம், எவை என்பதைக் கண்டறிய, உள்ளிடவும் கொல்ல -எல். அடிக்கடி பயன்படுத்தப்படும் சிக்னல்களின் பட்டியல் கீழே உள்ளது (அடைப்புக்குறிக்குள் உள்ள எண் சிக்னல் எண்)

  • பதிவு(1)- கட்டுப்பாட்டு முனையத்துடனான தொடர்பு இழப்பு பற்றி நிரலுக்கு முதலில் தெரிவிக்கும் நோக்கம் கொண்டது (டெர்மினல்கள் பெரும்பாலும் மோடம்களைப் பயன்படுத்தி கணினியுடன் இணைக்கப்பட்டன, எனவே சிக்னலின் பெயர் hang up - hang up என்பதிலிருந்து வருகிறது). அமர்வு தலைவர் செயல்முறை அதன் வேலையை முடித்திருந்தால், SIGHUP சமிக்ஞையும் பயன்பாட்டிற்கு அனுப்பப்படும். அமர்வு தலைவர் இல்லாத பல டீமான் நிரல்களும் இந்த சமிக்ஞையை செயலாக்குகின்றன. SIGHUP ஐப் பெறுவதற்கு பதில், டீமான் பொதுவாக மறுதொடக்கம் செய்யும் (அல்லது உள்ளமைவு கோப்பை மீண்டும் படிக்கவும்). இயல்பாக, இந்த சமிக்ஞையைப் பெறும் நிரல் முடிவடைகிறது.
  • SIGINT(2)- வழக்கமாக டெர்மினல் பயனர் செயல்முறையை நிறுத்த ஒரு கட்டளையை வழங்கியிருந்தால் ஒரு செயல்முறைக்கு அனுப்பப்படும் (பொதுவாக இந்த கட்டளை விசைப்பலகை குறுக்குவழி Ctrl + C ஆகும்)
  • SIGTERM(15)- நிரலின் "கண்ணியமான" முடிவை ஏற்படுத்துகிறது. இந்த சிக்னலைப் பெற்ற பிறகு, நிரல் முடிவதற்கு முன் தேவையான செயல்பாடுகளைச் செய்ய முடியும் (எடுத்துக்காட்டாக, திறந்த ஆவணங்களைச் சேமிப்பது). SIGTERM ஐப் பெறுவது நிரலில் உள்ள பிழையைக் குறிக்கவில்லை, மாறாக OS அல்லது பயனரின் விருப்பத்தை நிறுத்த வேண்டும்.
  • சிகில்(9)- நிரலின் கட்டாய நிறுத்தத்தை ஏற்படுத்துகிறது. நிரல் இந்த சமிக்ஞையை செயலாக்கவோ அல்லது புறக்கணிக்கவோ முடியாது.

இயல்புநிலை கட்டளை கொல்லஅனுப்புகிறது SIGTERMசமிக்ஞை, ஆனால் நீங்கள் சிக்னல் எண் அல்லது அதன் பெயரையும் குறிப்பிடலாம். உங்கள் Chrome உறைந்துவிட்டது என்று வைத்துக்கொள்வோம் (சில நேரங்களில் எனது ஃபிளாஷ் பிளேயர் போதுமான அளவு வேலை செய்வதை நிறுத்திவிடும்)

Enej@linux:/home/pub/www/vv$ google-chrome http://site & 22066 enej@linux:/home/pub/www/vv$ வேலைகள் - இயங்கும் nm-applet & (wd: ~/bin) + இயங்கும் google-chrome http://site & enej@linux:/home/pub/www/vv$ kill -SIGTERM %2 enej@linux:/home/pub/www/vv$ கொலை -SIGKILL %2 enej@linux :/home/pub/www/vv$ கொலை -9 %2

பி.எஸ்.: ஆரம்பநிலைக்கு 2 கட்டளைகள் மிகவும் சுவாரஸ்யமாக இருக்கும் என்று நினைக்கிறேன்: அறிவிப்பு-அனுப்பு(வரைகலை ஷெல் மூலம் ஒரு செய்தியை அனுப்புகிறது, க்னோமில் மேல் வலதுபுறத்தில் தோன்றும்) மற்றும் பேசு(பேச்சு சின்தசைசர்). உங்களிடம் அவை எதுவும் இல்லை என்றால், கட்டளையைப் பயன்படுத்தி அவற்றை நிறுவலாம் apt-get

Enej@linux:/home/pub/www/vv$ sudo apt-get install espeak notify-send

பணிகள் மற்றும் செயல்முறைகள்

எதுவும் நிகழ்த்தப்பட்டது லினக்ஸ் நிரல்அழைக்கப்பட்டது செயல்முறை. ஒரு பல்பணி அமைப்பாக லினக்ஸ் ஒன்று அல்லது அதற்கு மேற்பட்ட பயனர்களின் பல செயல்முறைகளை ஒரே நேரத்தில் செயல்படுத்த முடியும் என்பதன் மூலம் வகைப்படுத்தப்படுகிறது. கட்டளையைப் பயன்படுத்தி தற்போது இயங்கும் செயல்முறைகளின் பட்டியலை நீங்கள் காண்பிக்கலாம் ps, எடுத்துக்காட்டாக, பின்வருமாறு:

/home/larry# ps PID TT STAT TIME COMMAND 24 3 S 0:03 (bash) 161 3 R 0:00 ps /home/larry#

முன்னிருப்பாக கட்டளை என்பதை நினைவில் கொள்ளவும் psஅதைத் தொடங்கிய பயனருக்குச் சொந்தமான செயல்முறைகளின் பட்டியலை மட்டுமே காட்டுகிறது. கணினியில் இயங்கும் அனைத்து செயல்முறைகளையும் பார்க்க, நீங்கள் கட்டளையை வழங்க வேண்டும் ps -a . செயல்முறை எண்கள்(செயல்முறை ஐடி, அல்லது PID), முதல் நெடுவரிசையில் பட்டியலிடப்பட்டுள்ளது, ஒவ்வொரு இயங்கும் செயல்முறைக்கும் கணினி ஒதுக்கும் தனித்துவமான எண்கள். COMMAND என்ற தலைப்பில் உள்ள கடைசி நெடுவரிசை, இயக்கப்படும் கட்டளையின் பெயரைக் குறிக்கிறது. இந்த வழக்கில், பட்டியலில் பயனர் லாரி மூலம் தொடங்கப்பட்ட செயல்முறைகள் உள்ளன. கணினியில் இன்னும் பல செயல்முறைகள் இயங்குகின்றன, அவை முழு பட்டியல்கட்டளையுடன் பார்க்கலாம் ps-aux. இருப்பினும், பயனர் லாரியால் இயக்கப்படும் கட்டளைகளில், பாஷ் (பயனர் லாரிக்கான கட்டளை ஷெல்) மற்றும் கட்டளை மட்டுமே உள்ளது. ps. பாஷ் ஷெல் கட்டளையுடன் ஒரே நேரத்தில் இயங்குவதைக் காணலாம் ps. பயனர் கட்டளையை உள்ளிடும்போது ps, பாஷ் ஷெல் அதை இயக்கத் தொடங்கியது. அணிக்குப் பிறகு psஅதன் வேலை முடிந்தது (செயல்முறை அட்டவணை காட்டப்படும்), கட்டுப்பாடு பாஷ் செயல்முறைக்குத் திரும்புகிறது.

பின்னர் பாஷ் ஷெல் ஒரு வரியில் காண்பிக்கும் மற்றும் ஒரு புதிய கட்டளைக்காக காத்திருக்கிறது. இயங்கும் செயல்முறை என்றும் அழைக்கப்படுகிறதுபணி (வேலை). செயல்முறை மற்றும் பணி என்ற சொற்கள் ஒன்றுக்கொன்று மாற்றாகப் பயன்படுத்தப்படுகின்றன. இருப்பினும், வழக்கமாக ஒரு செயல்முறை ஒரு பணி என்று அழைக்கப்படுகிறதுவேலை மேலாண்மை

(வேலை கட்டுப்பாடு). வேலை கட்டுப்பாடு என்பது கட்டளை ஷெல் அம்சமாகும், இது பயனருக்கு பல வேலைகளுக்கு இடையில் மாறுவதற்கான திறனை வழங்குகிறது. பெரும்பாலான சந்தர்ப்பங்களில், பயனர்கள் ஒரு பணியை மட்டுமே இயக்குவார்கள் - இது அவர்கள் கட்டளை ஷெல்லில் உள்ள கடைசி கட்டளையாக இருக்கும். இருப்பினும், பல ஷெல்கள் (பாஷ் மற்றும் tcsh உட்பட) செயல்பாடுகளைக் கொண்டுள்ளனவேலை மேலாண்மை (வேலை கட்டுப்பாடு), நீங்கள் ஒரே நேரத்தில் பல கட்டளைகளை இயக்க அனுமதிக்கிறது அல்லதுபணிகள்

(வேலைகள்) மற்றும், தேவைக்கேற்ப, அவற்றுக்கிடையே மாறவும். உதாரணமாக, நீங்கள் பெரிய அளவில் எடிட் செய்தால், வேலை நிர்வாகம் பயனுள்ளதாக இருக்கும்உரை கோப்பு

மற்றும் வேறு சில செயல்பாடுகளைச் செய்வதற்குத் தற்காலிகமாகத் திருத்துவதைத் தடுக்க வேண்டும். தற்காலிகமாக எடிட்டரை விட்டு வெளியேறவும், ஷெல் ப்ராம்ட்க்குத் திரும்பவும் மற்றும் பிற செயல்களைச் செய்யவும் நீங்கள் வேலை நிர்வாக அம்சங்களைப் பயன்படுத்தலாம். அவை முடிந்ததும், நீங்கள் மீண்டும் எடிட்டருடன் பணிபுரியலாம் மற்றும் அது எந்த நிலையில் இருந்ததோ அதே நிலையில் அதைக் காணலாம். வேலை மேலாண்மை செயல்பாடுகளுக்கு இன்னும் பல பயனுள்ள பயன்பாடுகள் உள்ளன.

முன்புறம் மற்றும் பின்னணி பயன்முறை பணிகள் இரண்டாக இருக்கலாம்முன்புறம் (முன்புறம்), அல்லது(பின்னணி). எந்த நேரத்திலும் முன்புறத்தில் ஒரு பணி மட்டுமே இருக்க முடியும். முன்புற பணி என்பது நீங்கள் தொடர்பு கொள்ளும் பணியாகும்; அது விசைப்பலகையில் இருந்து உள்ளீட்டைப் பெற்று, வெளியீட்டை திரைக்கு அனுப்புகிறது (நிச்சயமாக, நீங்கள் உள்ளீடு அல்லது வெளியீட்டை வேறு எங்காவது திருப்பிவிடவில்லை என்றால்). எதிராக, பின்னணி வேலைகள்முனையத்தில் இருந்து உள்ளீடு பெற வேண்டாம்; பொதுவாக, அத்தகைய வேலைகளுக்கு பயனர் தொடர்பு தேவையில்லை.

சில பணிகள் முடிவடைய மிக நீண்ட நேரம் எடுக்கும், மேலும் அவை இயங்கும் போது சுவாரஸ்யமான எதுவும் நடக்காது. அத்தகைய பணிகளுக்கு ஒரு எடுத்துக்காட்டு நிரல்களை தொகுத்தல், அதே போல் பெரிய கோப்புகளை சுருக்கவும். இந்த பணிகள் முடிவடையும் வரை திரையைப் பார்த்துக் காத்திருக்க எந்த காரணமும் இல்லை. இத்தகைய வேலைகள் பின்னணியில் இயங்க வேண்டும். இந்த நேரத்தில், நீங்கள் மற்ற நிரல்களுடன் வேலை செய்யலாம்.

லினக்ஸில் செயல்முறைகளின் செயல்பாட்டைக் கட்டுப்படுத்த, ஒரு பரிமாற்ற வழிமுறை வழங்கப்படுகிறது சமிக்ஞைகள். ஒரு சமிக்ஞை என்பது கணினியைப் பயன்படுத்தி நேரடியாக நிலையான குறுந்தகவல்களை பரிமாறிக்கொள்ளும் செயல்முறைகளின் திறன் ஆகும். சிக்னல் எண்ணைத் தவிர வேறு எந்தத் தகவலும் சிக்னல் செய்தியில் இல்லை (வசதிக்காக, எண்ணுக்குப் பதிலாக கணினியால் முன் வரையறுக்கப்பட்ட பெயரைப் பயன்படுத்தலாம்). ஒரு சிக்னலை அனுப்ப, ஒரு செயல்முறைக்கு கணினி அழைப்பை மட்டுமே பயன்படுத்த வேண்டும்கொலை() , மற்றும் சிக்னலைப் பெற, உங்களுக்கு எதுவும் தேவையில்லை.ஒரு செயல்முறைக்கு சில சிறப்பு வழியில் சிக்னலுக்கு பதிலளிக்க வேண்டும் என்றால், அது பதிவு செய்யலாம் கையாளுபவர், மற்றும் கையாளுபவர் இல்லை என்றால், கணினி அதற்கு எதிர்வினையாற்றும். பொதுவாக, இது சமிக்ஞையைப் பெற்ற செயல்முறையை உடனடியாக நிறுத்துவதற்கு காரணமாகிறது. சிக்னல் கையாளுபவர் தொடங்குகிறது

ஒத்திசைவற்ற முறையில் , சிக்னலைப் பெற்ற உடனேயே, அந்த நேரத்தில் என்ன செயல்முறை செய்தாலும் பரவாயில்லை.இரண்டு சமிக்ஞைகள் - எண் 9 ( கொல்லுங்கள்) மற்றும் 19 ( கொல்லுங்கள் நிறுத்து ) - எப்போதும் கணினியால் செயலாக்கப்படும். செயல்முறையை நிச்சயமாகக் கொல்ல அவற்றில் முதலாவது தேவை (எனவே பெயர்). சிக்னல் இடைநிறுத்துகிறதுசெயல்முறை: இந்த நிலையில், செயல்முறை அட்டவணையில் இருந்து செயல்முறை அகற்றப்படவில்லை, ஆனால் அது சமிக்ஞை 18 ஐப் பெறும் வரை செயல்படுத்தப்படாது ( கொல்லுங்கள்தொடர் ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தப்பிக்கும் வரிசையைப் பயன்படுத்தி செயலில் உள்ள செயல்முறைக்கு அனுப்ப முடியும் .

Ctrl Zசிக்னல் எண் 15 ( கால) வேலையை குறுக்கிட உதவுகிறது. மணிக்கு ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தடங்கல்(குறுக்கீடு) வேலை செயல்முறை இறக்கிறது. வேலைகள் பொதுவாக தப்பிக்கும் வரிசையால் குறுக்கிடப்படுகின்றன Z(ஹேண்ட்லரைப் பயன்படுத்தி), அதனால் ஒரு முக்கிய கலவையை அழுத்தவும் ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தடங்கல்(o) செயல்முறையை உடனடியாக நிறுத்த முடியாது. நிரல் முடிவடைவதற்கு முன்பு அதன் வேலையின் தடயங்களை அழிக்கும் வகையில் இது செய்யப்படுகிறது. நடைமுறையில், சில திட்டங்களை இந்த வழியில் குறுக்கிட முடியாது.

பின்னணிக்கு மாற்றுவது மற்றும் வேலைகளை அழிப்பது

ஆரம்பிப்போம் எளிய உதாரணம். ஆம் கட்டளையைப் பார்ப்போம், இது முதல் பார்வையில் பயனற்றதாகத் தோன்றலாம். இந்த கட்டளையானது நிலையான வெளியீட்டிற்கு y என்ற எழுத்தைக் கொண்ட முடிவற்ற சரங்களை அனுப்புகிறது. இந்த கட்டளை எவ்வாறு செயல்படுகிறது என்பதைப் பார்ப்போம்:

/home/larry# yes y y y y

அத்தகைய வரிகளின் வரிசை காலவரையின்றி தொடரும். குறுக்கீடு சமிக்ஞையை அனுப்புவதன் மூலம் இந்த செயல்முறையை நீங்கள் அழிக்கலாம், அதாவது அழுத்துவதன் மூலம் ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தடங்கல். இப்போது விஷயங்களை வித்தியாசமாக செய்வோம். இந்த முடிவற்ற வரிசை திரையில் காட்டப்படுவதைத் தடுக்க, ஆம் கட்டளையின் நிலையான வெளியீட்டை /dev/null க்கு திருப்பி விடுவோம். உங்களுக்குத் தெரிந்தபடி, /dev/null சாதனம் ஒரு "கருந்துளையாக" செயல்படுகிறது: இந்தச் சாதனத்திற்கு அனுப்பப்பட்ட எல்லாத் தரவும் இழக்கப்படும். இந்த சாதனத்தைப் பயன்படுத்தி, சில நிரல்களிலிருந்து அதிகப்படியான வெளியீட்டை அகற்றுவது மிகவும் வசதியானது.

/home/larry# ஆம் > /dev/null

இப்போது திரையில் எதுவும் காட்டப்படவில்லை. இருப்பினும், ஷெல் ப்ராம்ப்ட் திரும்பப் பெறப்படவில்லை. ஏனென்றால், ஆம் கட்டளை இன்னும் இயங்குகிறது மற்றும் அதன் செய்திகளை y க்கு /dev/null க்கு அனுப்புகிறது.

குறுக்கீடு சமிக்ஞையை அனுப்புவதன் மூலமும் இந்த பணியை அழிக்கலாம்.

இப்போது நீங்கள் yes கட்டளை தொடர்ந்து வேலை செய்ய வேண்டும் என்று வைத்துக்கொள்வோம், ஆனால் ஷெல் ப்ராம்ட்டை திரையில் திருப்பி விட வேண்டும், அதனால் நீங்கள் மற்ற நிரல்களுடன் வேலை செய்யலாம். இதைச் செய்ய, நீங்கள் ஆம் கட்டளையை பின்னணியில் வைக்கலாம், மேலும் அது உங்களுடன் தொடர்பு கொள்ளாமல் வேலை செய்யும்.

ஒரு செயல்முறையை பின்னணியில் வைப்பதற்கான ஒரு வழி & கட்டளையின் முடிவில் இணைப்பதாகும். எடுத்துக்காட்டு:

/home/larry# ஆம் > /dev/null & + 164 /home/larry# செய்திவேலை எண்

எனவே இப்போது பின்னணியில் இயங்கும் ஆம் செயல்முறை உள்ளது, தொடர்ந்து y இன் ஸ்ட்ரீமை /dev/null சாதனத்திற்கு அனுப்புகிறது. இந்த செயல்முறையின் நிலையை அறிய, நீங்கள் கட்டளையை இயக்க வேண்டும் வேலைகள், இது ஷெல் உள் கட்டளை.

/home/larry# jobs + ஓடுகிறது ஆம் >/dev/null & /home/larry#

இந்த திட்டம் உண்மையில் செயல்படுவதை நாங்கள் காண்கிறோம். ஒரு பணியின் நிலையை அறிய, நீங்கள் கட்டளையையும் பயன்படுத்தலாம் ps, மேலே காட்டப்பட்டுள்ளபடி.

செயல்முறைக்கு ஒரு சமிக்ஞையை அனுப்புவதற்காக (பெரும்பாலும் தேவை உள்ளது குறுக்கீடுவேலை வேலை) பயன்பாடு பயன்படுத்தப்படுகிறது கொல்ல. இந்த கட்டளை ஒரு வேலை எண் அல்லது PID ஒரு வாதமாக கொடுக்கப்பட்டுள்ளது. ஒரு விருப்ப அளவுரு என்பது செயல்முறைக்கு அனுப்பப்பட வேண்டிய சமிக்ஞையின் எண்ணிக்கை. முன்னிருப்பாக சிக்னல் அனுப்பப்படும் Z. மேலே உள்ள வழக்கில், வேலை எண் 1, எனவே கட்டளை கொல்ல% 1வேலையில் இடையூறு ஏற்படும். ஒரு வேலையை அதன் எண்ணால் (அதன் PID ஐ விட) அணுகும் போது, ​​அந்த எண்ணுக்கு முன்னால் கட்டளை வரியில் ஒரு சதவீத குறியீடு ("%") இருக்க வேண்டும்.

இப்போது கட்டளையை உள்ளிடுவோம் வேலைகள்முந்தைய செயலின் முடிவை மீண்டும் சரிபார்க்க:

/home/larry# jobs நிறுத்தப்பட்டது ஆம் >/dev/null

உண்மையில், வேலை அழிக்கப்பட்டது, அடுத்த முறை நீங்கள் வேலைகள் கட்டளையை உள்ளிடும்போது, ​​​​அதைப் பற்றிய எந்த தகவலும் திரையில் இருக்காது.

செயல்முறை அடையாள எண்ணை (PID) பயன்படுத்தி ஒரு வேலையை நீங்கள் கொல்லலாம். இந்த எண், வேலை அடையாள எண்ணுடன், வேலை தொடங்கும் போது குறிக்கப்படுகிறது. எங்கள் எடுத்துக்காட்டில், PID மதிப்பு 164 ஆக இருந்தது, எனவே கட்டளை கொல்ல 164கட்டளைக்கு சமமாக இருக்கும் கொல்ல% 1. கொலை கட்டளைக்கு PID ஐ வாதமாக பயன்படுத்தும் போது, ​​நீங்கள் "%" எழுத்தை உள்ளிட தேவையில்லை.

வேலைகளை இடைநிறுத்துதல் மற்றும் மீண்டும் தொடங்குதல்

முன்பு செய்தது போல், முன்புறத்தில் yes கட்டளையுடன் செயல்முறையைத் தொடங்குவோம்:

/home/larry# ஆம் > /dev/null

முன்பு போலவே, செயல்முறை முன்புறத்தில் இயங்குவதால், ஷெல் ப்ராம்ட் திரைக்கு திரும்பாது.

இப்போது, ​​ஒரு முக்கிய கலவையுடன் பணியை குறுக்கிடுவதற்கு பதிலாக ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தடங்கல், பணி சாத்தியம் இடைநீக்கம்(சஸ்பெண்ட், அதாவது - இடைநிறுத்தம் செய்ய), அவருக்கு ஒரு சமிக்ஞையை அனுப்புகிறது கொல்லுங்கள். ஒரு பணியை இடைநிறுத்த, நீங்கள் பொருத்தமான விசை கலவையை அழுத்த வேண்டும், பொதுவாக இது ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தப்பிக்கும் வரிசையைப் பயன்படுத்தி செயலில் உள்ள செயல்முறைக்கு அனுப்ப முடியும் .

/home/larry# ஆம் > /dev/null ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தப்பிக்கும் வரிசையைப் பயன்படுத்தி செயலில் உள்ள செயல்முறைக்கு அனுப்ப முடியும்+ நிறுத்தப்பட்டது ஆம் >/dev/null /home/larry#

இடைநிறுத்தப்பட்ட செயல்முறை வெறுமனே இயங்காது. இது செயலி வளங்களை பயன்படுத்தாது. இடைநிறுத்தப்பட்ட பணி இடைநீக்கம் செய்யப்படாத அதே புள்ளியில் இருந்து இயங்கத் தொடங்கலாம்.

முன்புறத்தில் இயங்கும் வேலையை மீண்டும் தொடங்க, நீங்கள் கட்டளையைப் பயன்படுத்தலாம் fg(முன்புறம் - முன்புறம் என்ற வார்த்தையிலிருந்து).

/home/larry# fg ஆம் >/dev/null

கட்டளை ஷெல் மீண்டும் கட்டளை பெயரைக் காண்பிக்கும், எனவே பயனர் தற்போது எந்த பணியை முன்புறத்தில் இயக்குகிறார் என்பதை அறிந்துகொள்வார். விசைகளை அழுத்துவதன் மூலம் இந்த பணியை மீண்டும் இடைநிறுத்தலாம் ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தப்பிக்கும் வரிசையைப் பயன்படுத்தி செயலில் உள்ள செயல்முறைக்கு அனுப்ப முடியும், ஆனால் இந்த முறை கட்டளையுடன் பின்னணியில் தொடங்குவோம் bg(பின்னணி - பின்னணி என்ற வார்த்தையிலிருந்து). இது & இறுதியில் (முந்தைய பிரிவில் செய்யப்பட்டது போல்) ஒரு கட்டளையைப் பயன்படுத்தி இயக்கப்பட்டது போல் செயல்முறை இயங்கும்.

/home/larry# bg + yes $>$/dev/null & /home/larry#

ஷெல் ப்ராம்ட் திரும்பியது. இப்போது அணி வேலைகள்செயல்முறை என்பதைக் காட்ட வேண்டும் ஆம்இந்த நேரத்தில் உண்மையில் வேலை செய்கிறது; கொல்லஇந்த செயல்முறையை கட்டளையுடன் கொல்லலாம்

, முன்பு செய்தது போல். ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தப்பிக்கும் வரிசையைப் பயன்படுத்தி செயலில் உள்ள செயல்முறைக்கு அனுப்ப முடியும்பின்னணியில் இயங்கும் பணியை இடைநிறுத்த, விசைப்பலகை குறுக்குவழியைப் பயன்படுத்த முடியாது fg. ஒரு வேலையை இடைநிறுத்துவதற்கு முன், அதை கட்டளையுடன் முன்னோக்கி கொண்டு வர வேண்டும் fgபின்னர் மட்டுமே நிறுத்துங்கள். இவ்வாறு, கட்டளை

இடைநிறுத்தப்பட்ட வேலைகள் அல்லது பின்னணியில் இயங்கும் வேலைக்குப் பயன்படுத்தலாம். பின்னணி வேலைகளுக்கும் இடைநிறுத்தப்பட்ட வேலைகளுக்கும் பெரிய வித்தியாசம் உள்ளது. இடைநிறுத்தப்பட்ட வேலை இயங்காது - அது செயலி சக்தியைப் பயன்படுத்தாது. இந்த வேலை எந்த செயலையும் செய்யாது. « இடைநிறுத்தப்பட்ட பணி ஒரு குறிப்பிட்ட அளவு கணினி ரேம் ஆக்கிரமித்துள்ளது, சிறிது நேரம் கழித்து, நினைவகத்தின் இந்த பகுதியை கர்னல் பம்ப் செய்யும்வன்

மீண்டும் மீண்டும்

"

இதற்கு நேர்மாறாக, பின்னணி வேலை இயங்குகிறது, நினைவகத்தைப் பயன்படுத்துகிறது மற்றும் நீங்கள் செய்ய விரும்பும் சில விஷயங்களைச் செய்கிறது, ஆனால் நீங்கள் அதே நேரத்தில் மற்ற நிரல்களில் வேலை செய்யலாம். ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தடங்கல்பின்னணியில் இயங்கும் வேலைகள் திரையில் சில உரைகளைக் காட்ட முயற்சிக்கலாம். இதனால் மற்ற பணிகளில் இடையூறு ஏற்படும். fg/வீடு/லாரி# ஆம் & ) - அதன் பிறகு அது தொடர்ந்து வேலை செய்யும். லினக்ஸ் கட்டளை ஷெல்லில், சிக்னல் -தடங்கல் .

இங்கே நிலையான வெளியீடு /dev/null சாதனத்திற்கு திருப்பிவிடப்படவில்லை, எனவே y எழுத்துகளின் முடிவில்லா ஸ்ட்ரீம் திரையில் அச்சிடப்படும். விசை சேர்க்கை என்பதால் இந்த நூலை நிறுத்த முடியாது fgபின்னணியில் வேலைகளை பாதிக்காது. இந்த வெளியீட்டை நிறுத்த, நீங்கள் கட்டளையைப் பயன்படுத்த வேண்டும் bgசமீபத்தில் இடைநிறுத்தப்பட்ட வேலைகளைப் பாதிக்கும் (நீங்கள் கட்டளையை உள்ளிட்டால், வேலை எண்ணுக்கு அடுத்ததாக இந்த வேலைகள் + சின்னத்துடன் குறிக்கப்படும் வேலைகள்) ஒன்று அல்லது அதற்கு மேற்பட்ட வேலைகள் ஒரே நேரத்தில் இயங்கினால், கட்டளைகளை வாதங்களாகக் குறிப்பிடுவதன் மூலம் வேலைகளை முன் அல்லது பின்னணியில் வைக்கலாம். fgஅல்லது கட்டளைகள் bgஅவர்களின் அடையாள எண் (வேலை ஐடி). உதாரணமாக, கட்டளை fg% 2வேலை எண் 2 ஐ முன் மற்றும் கட்டளைக்கு வைக்கிறது bg% 3வேலை எண் 3 ஐ பின்னணியில் வைக்கிறது. கட்டளை வாதங்களாக PIDகளைப் பயன்படுத்தவும் fgமற்றும் bgஅது தடைசெய்யப்பட்டுள்ளது.

மேலும், ஒரு வேலையை முன்னணியில் கொண்டு வர, அதன் எண்ணை நீங்கள் குறிப்பிடலாம். ஆம், குழு %2 கட்டளைக்கு சமமாக இருக்கும் fg% 2 .

வேலை கட்டுப்பாட்டு செயல்பாடு ஷெல்லுக்கு சொந்தமானது என்பதை நினைவில் கொள்வது அவசியம். அணிகள் fg , bgமற்றும் வேலைகள்ஷெல் உள் கட்டளைகள்.

சில காரணங்களால், நீங்கள் வேலை மேலாண்மை செயல்பாடுகளை ஆதரிக்காத கட்டளை ஷெல்லைப் பயன்படுத்துகிறீர்கள் என்றால், அதில் இந்த (மற்றும் ஒத்த) கட்டளைகளை நீங்கள் காண முடியாது.

பின்னணி செயல்முறைகளைத் தொடங்குதல் மற்றும் செயலாக்குதல்: வேலை மேலாண்மைநீங்கள் கட்டளையை உள்ளிட்ட பிறகு நீங்கள் கவனித்திருக்கலாம் முனையம்"இ, வழக்கமாக அது முடிவடையும் வரை நீங்கள் காத்திருக்க வேண்டும் ஷெல்மீண்டும் கட்டுப்பாட்டைக் கொடுக்கும். நீங்கள் கட்டளையை இயக்கியுள்ளீர்கள் என்று அர்த்தம் முன்னுரிமை முறை

. இருப்பினும், இது விரும்பத்தகாத நேரங்கள் உள்ளன. உதாரணமாக, நீங்கள் மீண்டும் மீண்டும் ஒன்றை நகலெடுக்க முடிவு செய்கிறீர்கள் என்று வைத்துக்கொள்வோம்பெரிய பட்டியல்மற்றொருவருக்கு. பிழைகளைப் புறக்கணிக்கவும் நீங்கள் தேர்வுசெய்துள்ளீர்கள், எனவே பிழைச் சேனலைத் திருப்பிவிட்டீர்கள்

/dev/null:

cp -R படங்கள்/ /பகிரப்பட்டது/ 2>/dev/null இந்த கட்டளையை முடிக்க பல நிமிடங்கள் ஆகலாம். உங்களிடம் இரண்டு தீர்வுகள் உள்ளன: முதலாவது கொடூரமானது, கட்டளையை நிறுத்துதல் (கொல்லுதல்), பின்னர் அதை மீண்டும் செயல்படுத்துதல், ஆனால் மிகவும் பொருத்தமான நேரத்தில். இதைச் செய்ய, கிளிக் செய்யவும் Ctrl+c

: இது செயல்முறையை முடித்து உங்களை மீண்டும் ப்ராம்ட்க்கு அழைத்துச் செல்லும். ஆனால் காத்திருங்கள், அதை இன்னும் செய்ய வேண்டாம்! படிக்கவும்.நீங்கள் வேறு ஏதாவது செய்யும்போது இயக்க ஒரு கட்டளை வேண்டும் என்று வைத்துக்கொள்வோம். செயல்முறையை இயக்குவதே தீர்வாக இருக்கும் பின்னணி . இதைச் செய்ய, கிளிக் செய்யவும் Ctrl+z

செயல்முறையை இடைநிறுத்த: & இந்த வழக்கில், செயல்முறை அதன் வேலையைத் தொடரும், ஆனால் பின்னணி பணியாக, அடையாளத்தால் சுட்டிக்காட்டப்படுகிறதுஇயங்கும் செயல்முறை என்றும் அழைக்கப்படுகிறது .

(ஆம்பர்சண்ட்) வரியின் முடிவில். நீங்கள் மீண்டும் ப்ராம்ட்க்கு அழைத்துச் செல்லப்படுவீர்கள், மேலும் தொடர்ந்து வேலை செய்யலாம். பின்னணி பணியாக அல்லது பின்னணியில் இயங்கும் ஒரு செயல்முறை பின்னணி என்று அழைக்கப்படுகிறது & கட்டளையின் முடிவில். எடுத்துக்காட்டாக, டைப் செய்வதன் மூலம் கோப்பக நகல் கட்டளையை பின்னணியில் இயக்கலாம்:

cp -R படங்கள்/ /பகிரப்பட்டது/ 2>/dev/null &

நீங்கள் விரும்பினால், இந்த செயல்முறையை முன்புறத்திற்கு மீட்டமைத்து, தட்டச்சு செய்வதன் மூலம் அது முடிவடையும் வரை காத்திருக்கவும்fg (முன்புறம் - முன்னுரிமை). அதை மீண்டும் பின்னணியில் வைக்க, பின்வரும் வரிசையை உள்ளிடவும் . இதைச் செய்ய, கிளிக் செய்யவும் , bg .

இந்த வழியில், நீங்கள் பல பணிகளை இயக்கலாம்: ஒவ்வொரு கட்டளைக்கும் ஒரு பணி எண் ஒதுக்கப்படும். குழுஷெல் "ஏ வேலைகள் தற்போதைய வேலைகளுடன் தொடர்புடைய அனைத்து வேலைகளின் பட்டியலைக் காட்டுகிறது"இ, வழக்கமாக அது முடிவடையும் வரை நீங்கள் காத்திருக்க வேண்டும் "ஓம். பணிக்கு முன் ஒரு அடையாளம் உள்ளது + , பின்னணியில் இயங்கும் கடைசி செயல்முறையைக் குறிக்கும். ஒரு குறிப்பிட்ட வேலையை முன்னுரிமை முறையில் மீட்டமைக்க, நீங்கள் கட்டளையை உள்ளிடலாம்fg , எங்கே - பணி எண், எடுத்துக்காட்டாக,fg 5 .

நண்பர்களிடம் சொல்லுங்கள்