ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс

Bash ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Linux / Unix

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. bash output. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-bash output. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° bash output. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ статус ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Linux ΠΈΠ»ΠΈ Unix ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ?

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅. КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Linux ΠΈΠ»ΠΈ Unix Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ состояниС, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

НапримСр, Ссли скрипт backup.sh Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, ΠΈ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сообщаСт скрипту ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ элСктронноС письмо Π°Π΄ΠΌΠΈΠ½Ρƒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ bash?

КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° Linux ΠΈΠ»ΠΈ Unix, выполняСмая скриптом ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈΠΌΠ΅Π΅Ρ‚ статус Π²Ρ‹Π²ΠΎΠ΄Π°.

Бтатус Π²Ρ‹Π²ΠΎΠ΄Π° – это Ρ†Π΅Π»ΠΎΠ΅ число.

0 состояниС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Ρ‹Π»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ошибок.

НСнулСвоС (1-255 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) состояниС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Ρ‹Π»Π° Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Из ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ясно, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° date Π±Ρ‹Π»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° – 127 (Π½Π΅ ноль), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° nonexistant Π½Π΅ Π±Ρ‹Π»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ.

Bash ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ – Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° Π² скриптах ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ статус Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ?

Как ΠΌΠ½Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΌΠΎΠΈΡ… собствСнных скриптов ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ?

Команда exit Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ скриптов ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ со статусом N. Бинтаксис:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скрипта ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для получСния ΠΊΠΎΠ΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На этой страницС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° Π² систСмах Π½Π° основС Linux ΠΈΠ»ΠΈ Unix ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ статус Π²Ρ‹Π²ΠΎΠ΄Π° / ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π² Bash-скриптах

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. blog promo e872632493a971b3ba0722ccffaec76d1df333a297017200dadbff257e5959c1. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-blog promo e872632493a971b3ba0722ccffaec76d1df333a297017200dadbff257e5959c1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° blog promo e872632493a971b3ba0722ccffaec76d1df333a297017200dadbff257e5959c1. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ скрипты, ΠΏΡ€ΠΈ нСобходимости Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своём ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… скриптах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ (exit codes), Π° Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅Ρ‚. О ΠΊΠΎΠ΄Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π»Π΅Π³ΠΊΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ, Π½ΠΎ это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт. ОсобСнно Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² скриптах ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ

Π’ Linux ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎ врСмя Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ процСссу. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ называСтся ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ состояниСм Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. Π’ POSIX ΠΏΠΎ соглашСнию дСйствуСт стандарт: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ 0 ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ исполнСнии ΠΈ 1 ΠΈΠ»ΠΈ большСС число ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ исполнСнии.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ? Если ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π² контСкстС скриптов для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½. Π›ΡŽΠ±ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Bash-скрипт Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… скриптах ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ Π² однострочник Bash. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ использовании инструмСнтов Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SaltStack ΠΈΠ»ΠΈ инструмСнтов ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ρ‚ΠΈΠΏΠ° Nagios. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ скрипт ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ статус Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π±Ρ‹Π»ΠΎ Π»ΠΈ исполнСниС ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ опрСдСляСтС ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, ΠΎΠ½ΠΈ всё Ρ€Π°Π²Π½ΠΎ Π΅ΡΡ‚ΡŒ Π² Π²Π°ΡˆΠΈΡ… скриптах. Но Π±Π΅Π· ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ опрСдСлСния ΠΊΠΎΠ΄ΠΎΠ² Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ: Π»ΠΎΠΆΠ½Ρ‹ΠΌΠΈ сообщСниями ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ исполнСнии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ скрипта.

Π§Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹

Π’ Linux любой ΠΊΠΎΠ΄, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. Если ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½, Bash-скрипты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° послСднСй Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΡΡƒΡ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π² Bash-скриптах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ

ПослС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° скрипта ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ собствСнный ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΡƒΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами администрирования ΠΈΠ»ΠΈ однострочниками ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π±Ρ‹Π»Π° Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°. Если ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ скрипта ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ

Адаптированный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Understanding Exit Codes and how to use them in bash scripts by Benjamin Cane. МнСниС администрации Π₯СкслСта ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ Π°Π²Ρ‚ΠΎΡ€Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Команда exit Π² Bash ΠΈ ΠΊΠΎΠ΄Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π°

Часто ΠΏΡ€ΠΈ написании сцСнариСв Bash Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ сцСнарий ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ условия ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС Π½Π° основС ΠΊΠΎΠ΄Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ exit Bash ΠΈ статусы Π²Ρ‹Ρ…ΠΎΠ΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

Бтатус Π²Ρ‹Ρ…ΠΎΠ΄Π°

КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ»ΠΈ Π±Π΅Π·ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

По соглашСнию Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π° Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка.

Команда date Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ:

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ls Π² Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ нуля:

Код состояния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выяснСния ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ сбоя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. На страницС руководства ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ содСрТится информация ΠΎ ΠΊΠΎΠ΄Π°Ρ… Π²Ρ‹Ρ…ΠΎΠ΄Π°.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° статус Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° соотвСтствуСт ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Команда exit

Команда exit Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ со статусом N Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

Если N Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, ΠΊΠΎΠ΄ состояния Π²Ρ‹Ρ…ΠΎΠ΄Π° β€” это ΠΊΠΎΠ΄ послСднСй Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠŸΡ€ΠΈ использовании Π² сцСнариях ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ exit возвращаСтся ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈ запускС списка ΠΊΠΎΠΌΠ°Π½Π΄, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… && (И) ΠΈΠ»ΠΈ || (Π˜Π›Π˜), статус Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ опрСдСляСт, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² спискС. Π—Π΄Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° mkdir Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли cd Π²Π΅Ρ€Π½Π΅Ρ‚ ноль:

Если сцСнарий Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ exit Π±Π΅Π· указания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· сцСнария β€” это ΠΊΠΎΠ΄ послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Π² сцСнарии.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ сцСнарий, Ссли ΠΎΠ½ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ root:

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

КаТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ. Команда exit ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ статусом.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Linux для тСстировщиков ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! МСня Π·ΠΎΠ²ΡƒΡ‚ Баша, ΠΈ я большС ΡˆΠ΅ΡΡ‚ΠΈ Π»Π΅Ρ‚ занимаюсь тСстированиСм бэкСнда (сСрвисы Linux ΠΈ API). ΠœΡ‹ΡΠ»ΡŒ ΠΎ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρƒ мСня появилась послС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ тСстировщика ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Linux ΠΏΠ΅Ρ€Π΅Π΄ собСсСдованиСм. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ QA ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π·Π½Π°Π½ΠΈΠ΅ основных ΠΊΠΎΠΌΠ°Π½Π΄ (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, подразумСваСтся Ρ€Π°Π±ΠΎΡ‚Π° с Linux), Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ стоит ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²ΠΎ врСмя ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ собСсСдованию, Ссли ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Linux ΠΌΠ°Π»ΠΎ ΠΈΠ»ΠΈ вовсС Π½Π΅Ρ‚?

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ…ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎ это ΡƒΠΆΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· написано, я всё ΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ»ΡΡ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Β«Linux для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²Β» ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ здСсь Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌ собСсСдованиСм Π² ΠΎΡ‚Π΄Π΅Π» (ΠΈΠ»ΠΈ компанию), Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Linux. Π― ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‡Π°Ρ‰Π΅ всСго, собрал Ρ„ΠΈΠ΄Π±Π΅ΠΊ ΠΎΡ‚ ΠΊΠΎΠ»Π»Π΅Π³, ΠΈ скомпоновал это всё Π² ΠΎΠ΄Π½Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ. Π‘Ρ‚Π°Ρ‚ΡŒΡ условно дСлится Π½Π° 3 части: сначала краткая информация ΠΎΠ± основах Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Linux, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ€ самых Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π° Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ части описываСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π² Linux.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΉ, здСсь всС ΠΎΠ½ΠΈ пСрСчислСны Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚. ВсСгда ΠΌΠΎΠΆΠ½ΠΎ ввСсти `man ` ΠΈΠ»ΠΈ ` —help`, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Если какая-Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся слишком Π΄ΠΎΠ»Π³ΠΎ, Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ, Π½Π°ΠΆΠ°Π² Π² консоли Ctrl+C (процСссу посылаСтся сигнал SIGINT).

НСмного ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄

Когда запускаСтся процСсс Π² Linux, создаётся 3 стандартных ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… для этого процСсса: stdin, stdout ΠΈ stderr. Они ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ 0, 1 ΠΈ 2 соотвСтствСнно. Но нас сСйчас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ stdout ΠΈ, Π² мСньшСй стСпСни, stderr. Из Π½Π°Π·Π²Π°Π½ΠΈΠΉ нСслоТно Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ stdout ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π° stderr β€” для Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Linux stdout ΠΈ stderr выводят всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° консоль, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ссли Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ большой, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ». Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

Если ΠΌΡ‹ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ содСрТимоС Ρ„Π°ΠΉΠ»Π° man_signal, Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€ΠΈ простом запускС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ `man signal`.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ пСрСнаправлСния `>` ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ stdout. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ stdout явно: `1>`. Аналогично ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ stderr: `2>`. МоТно эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…:

ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈ stdout, ΠΈ stderr Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ пСрСнаправлСния `2>&1` ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ stderr Ρ‚ΡƒΠ΄Π° ΠΆΠ΅, ΠΊΡƒΠ΄Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ stdout.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ (Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅, это ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ срСдство мСТпроцСссного взаимодСйствия) β€” pipe (ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€). ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для связи Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄: stdout ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСнаправляСтся Π² stdin ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ, ΠΈ Ρ‚Π°ΠΊ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅:

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Linux

ВывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ (Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ) Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ.

ВывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя систСмы.

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΡ‚ΠΎ Π·Π°Π»ΠΎΠ³ΠΈΠ½Π΅Π½ Π² систСмС. Помимо этого Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° экран выводится uptime ΠΈ LA (load average).

ВывСсти содСрТимоС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Если Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ, Ρ‚ΠΎ вывСдСтся содСрТимоС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π›ΠΈΡ‡Π½ΠΎ я часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠΏΡ†ΠΈΠΈ -l (long listing format β€” Π²Ρ‹Π²ΠΎΠ΄ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ…), -t (сортировка ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ измСнСния Ρ„Π°ΠΉΠ»Π°/Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ) ΠΈ -r (обратная сортировка β€” Π² сочСтании с -t Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ «свСТиС» Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π½ΠΈΠ·Ρƒ):

Π•ΡΡ‚ΡŒ 2 ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ: «.» ΠΈ «..«. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ β€” Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ. Π˜Ρ… Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, Π² частности, ls:

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ полСзная опция для Π²Ρ‹Π²ΠΎΠ΄Π° скрытых Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Π½Π° «.«) β€” -a:

И Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ -h β€” Π²Ρ‹Π²ΠΎΠ΄ Π² human readable Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²):

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ.

Если Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ имя Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ пСрСмСнная окруТСния $HOME, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ домашняя дирСктория. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ `

` β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ $HOME:

mkdir

Иногда Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ структуру Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ сущСствуСт. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ нСсколько Ρ€Π°Π· подряд mkdir, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ -p β€” ΠΎΠ½Π° позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ всС Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ с этой ΠΎΠΏΡ†ΠΈΠ΅ΠΉ mkdir Π½Π΅ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли дирСктория сущСствуСт.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ.

Π£ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ -r ΠΈ -f, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ.

ВывСсти содСрТимоС Ρ„Π°ΠΉΠ»Π° (ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²).

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ head (вывСсти n ΠΏΠ΅Ρ€Π²Ρ‹Ρ… строк ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚ Ρ„Π°ΠΉΠ»Π°) ΠΈ tail (ΠΎ Π½Π΅ΠΉ β€” Π΄Π°Π»Π΅Π΅).

ВывСсти n послСдних строк ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚ Ρ„Π°ΠΉΠ»Π°.

ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ являСтся опция -f β€” ΠΎΠ½Π° позволяСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Π΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Иногда тСкстовый Ρ„Π°ΠΉΠ» слишком большой, ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cat. Π’ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ less: Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ частям, доступна навигация ΠΏΠΎ этим частям, поиск ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΉ простой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования less с ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠΌ (pipe):

ВывСсти список процСссов.

Π― сам ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ BSD ΠΎΠΏΡ†ΠΈΠΈ «aux» β€” вывСсти всС процСссы Π² систСмС (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ процСссов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, я Π²Ρ‹Π²Π΅Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 5 ΠΈΠ· Π½ΠΈΡ…, использовав ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ (pipe) ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ head):

МногиС Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ BSD ΠΎΠΏΡ†ΠΈΠΈ «axjf«, Ρ‡Ρ‚ΠΎ позволяСт вывСсти Π΄Π΅Ρ€Π΅Π²ΠΎ процСссов (здСсь я ΡƒΠ±Ρ€Π°Π» Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° для дСмонстрации):

Π£ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ использовании Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ. Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΆΠ΅ случаСв Ρ…Π²Π°Ρ‚ΠΈΡ‚ просто Π·Π½Π°Ρ‚ΡŒ «ps aux«.

ΠŸΠΎΡΠ»Π°Ρ‚ΡŒ сигнал процСссу. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ посылаСтся сигнал SIGTERM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ процСсс.

Π’Π°ΠΊ ΠΊΠ°ΠΊ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сигналов, kill Π½Π΅ всСгда ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ β€” ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ процСсса. Π§Ρ‚ΠΎΠ±Ρ‹ Β«ΡƒΠ±ΠΈΡ‚ΡŒΒ» процСсс навСрняка, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ процСссу сигнал SIGKILL. Однако это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли процСсс ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° диск), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ остороТно. НомСр сигнала SIGKILL β€” 9, поэтому ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ выглядит Ρ‚Π°ΠΊ:

Помимо упомянутых SIGTERM ΠΈ SIGKILL сущСствуСт Π΅Ρ‰Π΅ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сигналов, ΠΈΡ… список ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. И Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ сигналы SIGKILL ΠΈ SIGSTOP Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

ΠŸΠΎΡΠ»Π°Ρ‚ΡŒ хосту ICMP ΠΏΠ°ΠΊΠ΅Ρ‚ ECHO_REQUEST.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ping Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° опция -c β€” количСство ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ping Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° опция, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ β€” -i, ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ посылками ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

OpenSSH SSH ΠΊΠ»ΠΈΠ΅Π½Ρ‚, позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ хосту.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ нюансов Π² использовании SSH, Ρ‚Π°ΠΊΠΆΠ΅ этот ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большим количСством возмоТностСй, поэтому ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ (ΠΈΠ»ΠΈ нСобходимости) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ это Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ хостами (для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ssh).

rsync

Π’Π°ΠΊΠΆΠ΅ для синхронизации Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ хостами ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ rsync (-a β€” archive mode, позволяСт ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ всё содСрТимоС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Β«ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒΒ», -v β€” Π²Ρ‹Π²ΠΎΠ΄ Π½Π° консоль Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ):

ВывСсти Π½Π° экран строку тСкста.

Π—Π΄Π΅ΡΡŒ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ внимания ΠΎΠΏΡ†ΠΈΠΈ -n β€” Π½Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ строку пСрСносом строки Π² ΠΊΠΎΠ½Ρ†Π΅, ΠΈ -e β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ экранирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «\».

Π’Π°ΠΊΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. НапримСр, Π² Linux exit code послСднСй Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ хранится Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $?, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, какая ΠΈΠΌΠ΅Π½Π½ΠΎ ошибка ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° Π² послСднСм Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:

telnet

ΠšΠ»ΠΈΠ΅Π½Ρ‚ для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TELNET. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ хостом.

Если Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TLS (напомню, Ρ‡Ρ‚ΠΎ SSL Π΄Π°Π²Π½ΠΎ устарСл), Ρ‚ΠΎ telnet для этих Ρ†Π΅Π»Π΅ΠΉ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚. Π—Π°Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ openssl:

РСшСниС Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π² Linux

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π°

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chown:

Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ), Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° опция -R β€” Ρ‚ΠΎΠ³Π΄Π° Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρ‹ измСнятся ΠΈ Ρƒ всСго содСрТимого Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа Ρ„Π°ΠΉΠ»Π°

Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chmod. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ установку ΠΏΡ€Π°Π² Β«Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, запись ΠΈ исполнСниС, Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись, всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ β€” Π½ΠΈΡ‡Π΅Π³ΠΎΒ»:

ΠŸΠ΅Ρ€Π²Π°Ρ 7 (это 0b111 Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΌ прСдставлСнии) Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «всС ΠΏΡ€Π°Π²Π° для Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°Β», вторая 6 (это 0b110 Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΌ прСдставлСнии) β€” Β«Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись», Π½Ρƒ ΠΈ 0 β€” это Π½ΠΈΡ‡Π΅Π³ΠΎ для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Битовая маска состоит ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… Π±ΠΈΡ‚ΠΎΠ²: самый младший (Β«ΠΏΡ€Π°Π²Ρ‹ΠΉΒ») Π±ΠΈΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° исполнСниС, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π½ΠΈΠΌ («срСдний») β€” Π·Π° запись, ΠΈ самый ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ (Β«Π»Π΅Π²Ρ‹ΠΉΒ») β€” Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов (мнСмоничСский синтаксис). НапримСр, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сначала ΡƒΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²Π° Π½Π° исполнСниС для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ:

Π£ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования, поэтому ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Π½Π΅Ρ‘ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ (особСнно ΠΏΡ€ΠΎ мнСмоничСский синтаксис, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, здСсь).

ВывСсти содСрТимоС Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ hexdump. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΅Ρ‘ использования.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ вывСсти Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π΅Ρ‘ использования.

Π˜ΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹

Найти Ρ„Π°ΠΉΠ» ΠΏΠΎ части ΠΈΠΌΠ΅Π½ΠΈ Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find:

Π’Π°ΠΊΠΆΠ΅ доступны Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ поиска. НапримСр, Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΠ΅ test, созданныС Π±ΠΎΠ»Π΅Π΅ 5 Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄:

Π˜ΡΠΊΠ°Ρ‚ΡŒ тСкст Π² Ρ„Π°ΠΉΠ»Π°Ρ…

Π‘ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° grep. Π£ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования, здСсь Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΡƒΠΊΠ°Π·Π°Π½ самый простой.

Один ΠΈΠ· популярных способов использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ grep β€” использованиС Π΅Ρ‘ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ (pipe):

ΠžΠΏΡ†ΠΈΡ -v позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эффСкт grep‘Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ β€” Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки, Π½Π΅ содСрТащиС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Π² grep.

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ установлСнныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всё зависит ΠΎΡ‚ дистрибутива Linux ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, сколько мСста Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π΅Ρ€Π΅Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ

Один ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ du:

МоТно ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -d, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π΅Ρ€Π΅Π²Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с sort:

ΠžΠΏΡ†ΠΈΡ -h Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ sort позволяСт ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, записанныС Π² human readable Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1K, 2G), опция -r позволяСт ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС.

«Найти ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» Π² Ρ„Π°ΠΉΠ»Π΅, Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

Данная опСрация выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ sed (Π±Π΅Π· Ρ„Π»Π°Π³Π° g Π² ΠΊΠΎΠ½Ρ†Π΅ замСнится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Β«old-textΒ» Π² строкС):

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² сразу:

ВывСсти ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΈΠ· Π²Ρ‹Π²ΠΎΠ΄Π°

Π‘ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ awk. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выводится вторая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ `ps ux`:

ΠŸΡ€ΠΈ этом Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ awk ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ нСобходимости Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстом Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС стоит ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ± этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π£Π·Π½Π°Ρ‚ΡŒ IP адрСс ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ хоста

Π‘ этим ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄:

БСтСвая информация

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ifconfig:

ΠŸΡ€ΠΈ этом, Ссли, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вас интСрСсуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ IPv4, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ -4:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹

Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ netstat. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΡΠ»ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠ΅ TCP ΠΈ UDP ΠΏΠΎΡ€Ρ‚Ρ‹ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ PID’Π° процСсса, ΡΠ»ΡƒΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΡ€Ρ‚, ΠΈ с числовым прСдставлСниСм ΠΏΠΎΡ€Ρ‚Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ опциями:

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ систСмС

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ uname.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ производится Π²Ρ‹Π²ΠΎΠ΄, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ help‘Ρƒ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ памяти

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, сколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти занято ΠΈΠ»ΠΈ свободно, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ free.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах (свободноС мСсто Π½Π° дисках)

Команда df позволяСт ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, сколько мСста свободно ΠΈ занято Π½Π° ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах.

ΠžΠΏΡ†ΠΈΡ -T ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ статистикС ΠΏΠΎ систСмС

Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° top. Она способна вывСсти Ρ€Π°Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠΏ процСссов ΠΏΠΎ использованию ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈΠ»ΠΈ Ρ‚ΠΎΠΏ процСссов ΠΏΠΎ использованию процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ памяти, CPU, uptime ΠΈ LA (load average).

Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ Π½Π°Π΄ΠΎ часто Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΅Ρ‘ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ.

Π”Π°ΠΌΠΏ сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°

Для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Linux ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° tcpdump. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π°ΠΌΠΏΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° ΠΏΠΎΡ€Ρ‚Π΅ 12345, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠžΠΏΡ†ΠΈΡ -A Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΠ΄ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² ASCII (поэтому это Ρ…ΠΎΡ€ΠΎΡˆΠΎ для тСкстовых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²), -i any ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ нас Π½Π΅ интСрСсуСт сСтСвой интСрфСйс, port β€” Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° Π΄Π°ΠΌΠΏΠΈΡ‚ΡŒ. ВмСсто port ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ host, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ host ΠΈ port (host A and port X). И Π΅Ρ‰Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ опция -n β€” Π½Π΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ адрСса Π² хостнСймы Π² Π²Ρ‹Π²ΠΎΠ΄Π΅.
Π§Ρ‚ΠΎ Ссли Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ? Π’ΠΎΠ³Π΄Π° Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ опция -X β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² hex ΠΈ ASCII:

ΠŸΡ€ΠΈ этом Π½Π°Π΄ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±ΠΎΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… использования Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ IP ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, поэтому Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ IP ΠΈ TCP. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° для запроса «123» посланного Π² сСрвСр, ΡΠ»ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ€Ρ‚ 12345:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Bash-скрипты, Ρ‡Π°ΡΡ‚ΡŒ 5: сигналы, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сцСнариями

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Π’ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π· ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°, Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ошибок Π² bash-скриптах, ΠΎ дСскрипторах Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². БСйчас Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΡƒΠΆΠ΅ достаточно ΠΌΠ½ΠΎΠ³ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своё. На Π΄Π°Π½Π½ΠΎΠΌ этапС освоСния bash Ρƒ вас Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопросы ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ скриптами, ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… запуск.

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° скриптов Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π»ΠΈ Enter, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ запуску ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½ΠΎ это β€” Π½Π΅ СдинствСнный способ Π²Ρ‹Π·ΠΎΠ²Π° сцСнариСв. БСгодня ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ скрипт ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с сигналами Linux, ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ запуску скриптов ΠΈ ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈΠΌΠΈ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π‘ΠΈΠ³Π½Π°Π»Ρ‹ Linux

Π’ Linux сущСствуСт Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Ρ‘Ρ… дСсятков сигналов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ систСма ΠΈΠ»ΠΈ прилоТСния. Π’ΠΎΡ‚ список Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ навСрняка пригодятся ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Код сигналаНазваниСОписаниС
1SIGHUPΠ—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°
2SIGINTΠ‘ΠΈΠ³Π½Π°Π» остановки процСсса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (CTRL + C)
3SIGQUITΠ‘ΠΈΠ³Π½Π°Π» остановки процСсса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (CTRL + \) с Π΄Π°ΠΌΠΏΠΎΠΌ памяти
9SIGKILLБСзусловноС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ процСсса
15SIGTERMΠ‘ΠΈΠ³Π½Π°Π» запроса Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса
17SIGSTOPΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ приостановка выполнСния процСсса, Π½ΠΎ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹
18SIGTSTPΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° процСсса с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (CTRL + Z), Π½ΠΎ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹
19SIGCONTΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ выполнСния Ρ€Π°Π½Π΅Π΅ остановлСнного процСсса

Если ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° bash ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сигнал SIGHUP ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», ΠΎΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΎΠ½Π° отправляСт сигнал SIGHUP всСм Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ Π² Π½Π΅ΠΉ процСссам, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ скрипты.

Bash-скрипты Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ эти сигналы, Π½ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ скрипта ΠΊ послСдствиям, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ сигналами.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сигналов скриптам

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° bash позволяСт Π²Π°ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ скриптам сигналы, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ комбинациями клавиш Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. Π­Ρ‚ΠΎ оказываСтся ΠΎΡ‡Π΅Π½ΡŒ кстати Ссли Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ скрипт ΠΈΠ»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСсса

ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ клавиш CTRL + C Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сигнал SIGINT ΠΈ отправляСт Π΅Π³ΠΎ всСм процСссам, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌΡΡ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСсса с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

ВрСмСнная остановка процСсса

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Число Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках β€” это Π½ΠΎΠΌΠ΅Ρ€ задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ процСссу. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° рассматриваСт процСссы, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π½Π΅ΠΉ, ΠΊΠ°ΠΊ задания с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ. ΠŸΠ΅Ρ€Π²ΠΎΠΌΡƒ процСссу назначаСтся Π½ΠΎΠΌΠ΅Ρ€ 1, Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ β€” 2, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Если Π²Ρ‹ приостановитС Π·Π°Π΄Π°Π½ΠΈΠ΅, привязанноС ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅, ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π½Π΅Ρ‘, bash выдаст ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ приостановлСнныС задания ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Выглядит Π΅Ρ‘ Π²Ρ‹Π·ΠΎΠ² Ρ‚Π°ΠΊ:

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ сигналов

Команда trap позволяСт скрипту Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сигналы, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° выполняСтся ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ Π±Π΅Π· Π΅Π³ΠΎ участия.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ trap задаётся ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, ΠΈ список сигналов, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС это всСго ΠΎΠ΄ΠΈΠ½ сигнал:

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ сигнала Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· скрипта

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ сигнал Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· скрипта ΠΌΠΎΠΆΠ½ΠΎ, использовав ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ trap имя сигнала EXIT :

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ сигнала Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· скрипта

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… сигналов ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π°

Для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… скриптом сигналов ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ trap с Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° сигналов

ПослС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ сигналы Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ-Π½ΠΎΠ²ΠΎΠΌΡƒ.

И Π½Π°ΠΆΠΌΡ‘ΠΌ CTRL + C Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Π‘ΠΈΠ³Π½Π°Π», ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΎ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

Иногда bash-скриптам трСбуСтся Π½Π΅ΠΌΠ°Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для выполнСния Π½Π΅ΠΊΠΎΠ΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΡ€ΠΈ этом Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π½Π΅ доТидаясь Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ скрипта. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ слоТно.

Запустим Π΅Π³ΠΎ, ΡƒΠΊΠ°Π·Π°Π² послС ΠΈΠΌΠ΅Π½ΠΈ символ ампСрсанда ( & ):

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс.

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Запуск скрипта Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ процСссС, Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» вывСдСтся Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π° ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± этом.

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, Ссли Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, скрипт, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ Π² Ρ„ΠΎΠ½Π΅, Ρ‚Π°ΠΊ ΠΆΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π§Ρ‚ΠΎ Ссли Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипт ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ послС закрытия Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°?

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов, Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ эту ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ ΠΏΡ€ΠΈ запускС нашСго скрипта:

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π·Π°Π΄Π°Π½ΠΈΠΉ

Команда jobs позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅. НапишСм Ρ‚Π°ΠΊΠΎΠΉ скрипт:

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Запуск ΠΈ приостановка скрипта

Запустим Ρ‚ΠΎΡ‚ ΠΆΠ΅ скрипт Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΡ€ΠΈ этом ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄ скрипта Π² Ρ„Π°ΠΉΠ» Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ» Π½Π° экранС:

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ свСдСний ΠΎ скриптах

ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ приостановлСнных Π·Π°Π΄Π°Π½ΠΈΠΉ

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Π’Π΅ΠΏΠ΅Ρ€ΡŒ скрипт выполняСтся Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Если Ρƒ вас имССтся нСсколько приостановлСнных Π·Π°Π΄Π°Π½ΠΈΠΉ, для пСрСзапуска ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ задания ΠΊΠΎΠΌΠ°Π½Π΄Π΅ bg ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€.

Для пСрСзапуска задания Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fg :

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запуска скриптов

Π’Ρ‹Π·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ at выглядит Ρ‚Π°ΠΊ:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° распознаёт мноТСство Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² указания Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ at

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… выполнСния, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ atq :

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Бписок Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… выполнСния

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… выполнСния

ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. image loader. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса линукс. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π― Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ систСмы Linux. Как ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

Запуск скриптов ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ запуска скриптов с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ at способно ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Тизнь Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях. Но ΠΊΠ°ΠΊ Π±Ρ‹Ρ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипт выполнялся Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ, ΠΈΠ»ΠΈ Ρ€Π°Π· Π² нСдСлю, ΠΈΠ»ΠΈ Ρ€Π°Π· Π² мСсяц?

Crontab выполняСтся Π² Ρ„ΠΎΠ½Π΅ ΠΈ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… cron-Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, запускаСт задания ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ.

ΠŸΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ запуска скрипта ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ crontab ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π² Ρ‚Π°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

НапримСр, Ссли Π½Π°Π΄ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΈΠΉ скрипт с ΠΈΠΌΠ΅Π½Π΅ΠΌ command выполнялся Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² 10:30, этому Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ такая запись Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π°Π΄Π°Π½ΠΈΠΉ:

Π—Π΄Π΅ΡΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ Β« * Β», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ для ΠΏΠΎΠ»Π΅ΠΉ, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… дСнь мСсяца, мСсяц ΠΈ дСнь Π½Π΅Π΄Π΅Π»ΠΈ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ cron Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ мСсяца Π² 10:30.

Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°Π΄ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипт запускался Π² 4:30PM ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ понСдСльник, понадобится ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π°Π΄Π°Π½ΠΈΠΉ Ρ‚Π°ΠΊΡƒΡŽ запись:

НумСрация Π΄Π½Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ начинаСтся с 0, 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅, 6 β€” субботу. Π’ΠΎΡ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π—Π΄Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² 12 часов дня Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ дСнь ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ мСсяца.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ формирования расписания:

Благодаря этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ скрипт Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² 10:30. Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚Π΅ΡΡŒ с ошибкой Β«Resource temporarily unavailableΒ», Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСриодичСский запуск скриптов с использованиСм cron ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΎΡ‰Π΅, воспользовавшись нСсколькими ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ дирСкториями:

Если ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» скрипта Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ…, это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚, соотвСтствСнно, ΠΊ Π΅Π³ΠΎ СТСчасному, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΌΡƒ, Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ СТСмСсячному запуску.

Запуск скриптов ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² систСму ΠΈ ΠΏΡ€ΠΈ запускС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запуск скриптов ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ события, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² систСму ΠΈΠ»ΠΈ запуск ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Π’ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ситуациях. НапримСр, это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹:

Π˜Ρ‚ΠΎΠ³ΠΈ

БСгодня ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ управлСния ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ сцСнариСв, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипты Π² Ρ„ΠΎΠ½Π΅, ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΎ функциях Π² bash-скриптах ΠΈ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! А Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ срСдствами планирования запуска сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ? Если Π΄Π° β€” расскаТитС поТалуйста ΠΎ Π½ΠΈΡ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *