linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ слуТбы для запуска скрипта

Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

ΠŸΡ€ΠΈ запускС Π΄Π°Π½Π½ΠΎΠΉ слуТбы Π² Π»ΠΎΠ³Π°Ρ… ошибка python, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π‘Π” Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½. ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅, поТалуйста, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слуТбу ΠΈΠ»ΠΈ ΠΊΡƒΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π‘Π”, Ρ‡Ρ‚ΠΎΠ± это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ?

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. 84342: 1179834432. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-84342: 1179834432. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 84342: 1179834432. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Π£Π±Π΅Ρ€ΠΈ это, systemd β€” Π½Π΅ шСлл.

Type=oneshot ΠΈΠ»ΠΈ Type=simple

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. p. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-p. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° p. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅, поТалуйста, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слуТбу

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. p. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-p. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° p. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. 81116:1427563902. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-81116:1427563902. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 81116:1427563902. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

ΠŸΡ€ΠΈ запускС Π΄Π°Π½Π½ΠΎΠΉ слуТбы Π² Π»ΠΎΠ³Π°Ρ… ошибка python, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π‘Π” Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. p. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-p. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° p. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. p. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-p. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° p. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

ExecStart = /usr/bin/python3 ‘/home/pi/script/index.py’ > /home/pi/script/script.log 2>$1

По-Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ всС эти «кишки» Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Π² ваш скрипт. Для логирования ΠΌΠΎΠ΄ΡƒΠ»ΡŒ logging.

ΠŸΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° Π±Π΄ Π² вашСм случаС вСроятно Ρ‚ΠΎΠΆΠ΅ стоит ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· os.path.dirname. Π­Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‡Ρƒ спСцэффСктов с запуском скрипта.

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. p. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-p. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° p. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

1. Π‘ΠΎΠ·Π΄Π°Ρ‘ΡˆΡŒ /usr/bin/pepiaka.sh, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡƒΡΠΊΠ°Π΅ΡˆΡŒ свой pepiaka.py. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΡˆΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ· консольки.

Если Π‘Π” ΡƒΠΊΠ°Π·Π°Π½Π° Ρ‡Π΅Ρ€Π΅Π· relative-path Π΅Π³ΠΎ это Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ спасёт( FileNotFoundError)

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

Запуск скрипта sh Π² Linux

Вся сила Linux Π² использовании Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π­Ρ‚ΠΎ такая командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ быстро ΠΈ эффСктивно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ дСйствия. Ну Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π²Ρ‹ Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ это ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅. Для Linux Π±Ρ‹Π»ΠΎ создано мноТСство скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ…. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π²Ρ‹ просто ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚Π΅ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ дСйствиС, Π° Π·Π°Ρ‚Π΅ΠΌ выполняСтС ΠΈΡ… ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ярлыка.

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ скрипты

Π’ Linux ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для опСрСТСния Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π° систСмном ΡƒΡ€ΠΎΠ²Π½Π΅. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΈ Ρ‚ΠΎ Π½Π΅ всСгда. ВмСсто этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сигнатуры Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π° ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ. БистСма считаСт исполняСмыми Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ присвоСн Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ исполняСмости.

Запуск скрипта sh Π² Linux

Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ нСбольшого sh скрипта:

#!/bin/bash
echo «Hello world»

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. Snimok ekrana ot 2017 09 08 21 28 42. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-Snimok ekrana ot 2017 09 08 21 28 42. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 09 08 21 28 42. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

chmod ugo+x script.sh

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. Snimok ekrana ot 2017 09 08 21 29 45. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-Snimok ekrana ot 2017 09 08 21 29 45. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 09 08 21 29 45. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.servicelinux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. Snimok ekrana ot 2017 09 08 21 30 07. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-Snimok ekrana ot 2017 09 08 21 30 07. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 09 08 21 30 07. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. Snimok ekrana ot 2017 09 08 21 30 13. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-Snimok ekrana ot 2017 09 08 21 30 13. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 09 08 21 30 13. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Или ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ корня:

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. Snimok ekrana ot 2017 09 08 21 30 28. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-Snimok ekrana ot 2017 09 08 21 30 28. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 09 08 21 30 28. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

cp script.sh /usr/local/bin/script.sh

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. Snimok ekrana ot 2017 09 08 21 31 15. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-Snimok ekrana ot 2017 09 08 21 31 15. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 09 08 21 31 15. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. Snimok ekrana ot 2017 09 08 21 31 25. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-Snimok ekrana ot 2017 09 08 21 31 25. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 09 08 21 31 25. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

А Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт Π½Π° php, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ всС просто здСсь Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ символ &:

Π”Π°ΠΆΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс linux Π½Π΅ Ρ‚Π°ΠΊ слоТно.

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

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

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ слуТбами Linux

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС linux, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² Windows, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² Ρ„ΠΎΠ½Π΅ слуТбы. Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ слуТб тяТСло ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, ΠΎΠ½ΠΈ слСдят Π·Π° состояниСм систСмы, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ автоматичСскоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… устройств ΠΈ сСти, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ процСссам Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (dbus), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π²ΠΈΠ΄Π΅ слуТб Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅Π±-сСрвСры ΠΈ сСрвСры Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, слуТбы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ„ΠΎΠ½Π΅, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊ Π½ΠΈΠΌ прямого доступа. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΅Ρ‰Π΅ Π½Π΅ вошСл Π² систСму, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π° основныС слуТбы ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ слуТбами Linux. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ систСмы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SysVinit, сосрСдоточимся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Systemd. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ слуТбы linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΡ… самому.

НСмного Ρ‚Π΅ΠΎΡ€ΠΈΠΈ

Но ΠΏΠΎΡ‚ΠΎΠΌ Π½Π° смСну этому ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΏΡ€ΠΈΡˆΠ»Π° новая модСль ΠΈ систСма ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ systemd. БистСма ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ запускаСтся сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слуТбы, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ зависимостСй ΠΌΠ΅ΠΆΠ΄Ρƒ слуТбами. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ слоТноС Π΄Π΅Ρ€Π΅Π²ΠΎ порядка запуска слуТб. Но ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² подробности создания слуТб, нас интСрСсуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам процСсс запуска. ПослС запуска systemd собираСт вСсь Π²Ρ‹Π²ΠΎΠ΄ слуТбы Π² Π»ΠΎΠ³, ΠΈ слСдит Π·Π° Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ, Ссли слуТба Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ, Ρ‚ΠΎ автоматичСски Π΅Π΅ пСрСзапускаСт.

Π‘Π»ΡƒΠΆΠ±Π° Π² Systemd описываСтся Ρ„Π°ΠΉΠ»ΠΎΠΌ ΡŽΠ½ΠΈΡ‚Π°, Π² Π½Π΅ΠΌ описано Ρ‡Ρ‚ΠΎ с Π½Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ сСбя вСсти. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ слуТб:

Нас Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ service, ΠΈ совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ target, Π½ΠΎ ΠΌΡ‹ рассмотрСли всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ смогли Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΠΈΡ€Π΅. ΠžΡΠ½ΠΎΠ²Ρ‹ рассмотрСли, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ настройка слуТб LInux.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° systemctl

$ systemctl ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° слуТба слуТба.

Рассмотрим всС ΠΏΠΎ порядку. ΠžΠΏΡ†ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ сильно зависят ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄, поэтому рассмотрим ΠΈΡ… ΠΏΠΎΠ·ΠΆΠ΅, Π° ΠΏΠΎΠΊΠ° пройдСмся ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…:

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ основныС ΠΎΠΏΡ†ΠΈΠΈ:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠΏΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ большС внимания Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ всС дСйствия.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ слуТбами Linux

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅ всС основы, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π΄Π΅Π»Ρƒ. Π‘ΠΎ всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ тонкостями разбСрСмся ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ. Π‘Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ слуТбы linux. Нас Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ всС эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, поэтому Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΎΠΏΡ†ΠΈΠ΅ΠΉ type:

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список слуТб linux, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ входят всС слуТбы, Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅, Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ, Π½ΠΎ извСстны systemd, Π½ΠΎ это Π΅Ρ‰Π΅ Π½Π΅ всС слуТбы Π² систСмС:

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services1. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services1. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Π”Π°Π»ΡŒΡˆΠ΅ большС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список слуТб systemctl ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ. НапримСр, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ:

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services2. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services2. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Или Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈΡΡŒ с ошибкой:

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. service4. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-service4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° service4. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ€Π°Ρ‚ΡŒ любой ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ состояния ΠΈΠ· любой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ слуТб Π½Π° дискС. Π’ΡƒΡ‚ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ, ΠΏΡƒΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ всС:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ слуТбы linux:

Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ слуТбы linux, ΠΈΠ΄Π΅ΠΌ дальшС.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ слуТбу ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° start, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

sudo systemctl start application.service

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ service ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, ΠΎΠ½ΠΎ ΠΈ Ρ‚Π°ΠΊ подставляСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если запуск ΠΏΡ€ΠΎΡˆΠ΅Π» Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚.

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ слуТбу linux ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo systemctl stop application

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ состояниС слуТбы позволяСт ΠΊΠΎΠΌΠ°Π½Π΄Π° status:

sudo systemctl status application

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services4. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services4. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, состояниС running, exited, dead, failed ΠΈ Ρ‚ Π΄. А Ρ‚Π°ΠΊΠΆΠ΅ нСсколько послСдних строчСк Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с запуском Ссли ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚.

Автозагрузка слуТб Π² systemd

Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, systemd позволяСт автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ слуТбы ΠΏΡ€ΠΈ запускС систСмы ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… надобности. Команда list-unit-files ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π»ΠΈ слуТба Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список слуТб linux, запускаСмых автоматичСски достаточно ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ:

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services5. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services5. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services6. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services6. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

ВсС слуТбы, запускаСмыС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ слуТбы static. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ слуТбу Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ linux ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ enable:

sudo systemctl enable application

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services7. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services7. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services7. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

А для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π΅ ΠΈΠ· Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

sudo systemctl disable applciation

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services8. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services8. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services8. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Π’Π°ΠΊΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° Π»ΠΈ сСйчас Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€Π·ΡƒΠΊΠ° для слуТбы:

sudo systemctl is-enabled application

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. services9. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-services9. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° services9. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° просто Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ состояниС enabled, disabled ΠΈΠ»ΠΈ static.

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

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

Linux how to’s

Roman Pridybailo

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ запускаСмых слуТб Π² Linux Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² /etc/rc.d/init.d. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипт запускался автоматичСски Π²ΠΎ врСмя запуска систСмы, Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку Π½Π° скрипт ΠΈ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/rc.d/rcN.d Π³Π΄Π΅ N соотвСтствуСт ΡƒΡ€ΠΎΠ²Π½ΡŽ выполнСния скрипта.

Π£Ρ€ΠΎΠ²Π½ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ LinuxΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ½ΠΈΠ΅
0остановка систСмы (halt) β€” Ρ€Π°Π±ΠΎΡ‚Π° систСмы Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°
1ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ β€” систСма ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ слуТб ΠΈ Π΄Π°Ρ‘Ρ‚ СдинствСнному ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ) Π±Π΅Π· провСдСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для восстановлСния систСмы
2ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°Ρ…, Π²Ρ…ΠΎΠ΄ Π² систСму с процСссом Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
3ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ сСтСвой Ρ€Π΅ΠΆΠΈΠΌ β€” Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ уровня, осущСствляСтся настройка сСти ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅
сСтСвыС слуТбы;
4Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ стандартного толкования ΠΈ практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ
5запуск графичСской подсистСмы β€” ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ 3 производится Ρ‚Π°ΠΊΠΆΠ΅ старт графичСской подсистСмы X11, ΠΈ Π²Ρ…ΠΎΠ΄ Π² систСму осущСствляСтся ΡƒΠΆΠ΅ Π² графичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅
6ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° систСмы β€” ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ этого Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ производится ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

Π§Π°Ρ‰Π΅ всСго Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ 3 ΠΈΠ»ΠΈ 5. Однако Π΅ΡΡ‚ΡŒ нСкоторая Ρ…ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ самой символичСской ссылки, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡƒΠΌΠ°Π»Ρ‡ΠΈΠ²Π°ΡŽΡ‚, ΠΈ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ.

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

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой сСрвис для Linux

linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. history of. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу Ρ„ΠΎΡ‚ΠΎ. linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу-history of. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° linux Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΊΠ°ΠΊ слуТбу. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° history of. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Π•ΡΡ‚ΡŒ скрипт написанный Π½Π° python ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ ΠΈ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ SQLite Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π₯ΠΎΡ‡Ρƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ слуТбу, сдСлал ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/systemd/system/pythonscript.service

ΠžΡΠ½ΠΎΠ²Ρ‹ создания сСрвиса Linux

Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ свои сСрвисы, Π½Π°Ρ‡Π½Π΅ΠΌ с основ. Systemd ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ абстрактными Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ (unit), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ рСсурсы (процСссы, сокСты, абстрактныС Β«Ρ†Π΅Π»ΠΈΒ») ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсов для запуска.

БСрвисы Ρ‚ΠΈΠΏΠ° oneshot β€” Π΄ΠΎΠ»ΠΎΠΉ rc.local

Когда-Ρ‚ΠΎ основным способом Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ систСмы Π±Ρ‹Π»ΠΎ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π² /etc/rc.local. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ нСдостаток β€” Π½Π΅Ρ‚ способов ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, насколько ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈΡΡŒ. Π’ systemd Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Ρ‚Π°ΠΊΠΎΠΉ Ρ†Π΅Π»ΠΈ свой сСрвис Ρ‚ΠΈΠΏΠ° oneshot, ΠΈ ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· systemctl, ΠΊΠ°ΠΊ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π’ этом случаС systemd Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ посчитаСт запуск сСрвиса ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ, Ссли ΠΎΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ ноль.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» Π² /lib/systemd/system/dumb-test.service :

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСрвиса ΠΈΠ· любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Для дСмонстрации напишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python, которая просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сообщСниС Π² бСсконСчном Ρ†ΠΈΠΊΠ»Π΅. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ Π² /usr/local/bin/test.py ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π—Π°Ρ‚Π΅ΠΌ создадим для Π½Π΅Π΅ Ρ„Π°ΠΉΠ» сСрвиса Π² /lib/systemd/system/smart-test.service :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ наш сСрвис ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

Зависимости ΠΈ порядок запуска

ΠžΠΏΡ†ΠΈΠΉ для настройки зависимости Π² systemd ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ Π΄Π²Π° нСзависимых ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° для указания порядка запуска сСрвисов ΠΈ зависимостСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ запуска сСрвисов

Однако опция After=bar.service сама ΠΏΠΎ сСбС Π½Π΅ поставит сСрвис Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ повлияСт Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ foo, Π΄Π°ΠΆΠ΅ Ссли запуск bar Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° сущСствования этих ΠΎΠΏΡ†ΠΈΠΉ β€” ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ systemd Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сСрвисы ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Π²Π΅Π±-сСрвСр с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΈΠ· Π²Π΅Π±-прилоТСния FCGI, Π‘Π£Π‘Π” ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прокси. Π’ ΠΊΠ°ΠΊΠΎΠΌ порядкС Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ процСсс FCGI ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ прокси, Π½Π΅ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½ΠΎ. Запросы Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΠ±Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹, Π½ΠΎ Β«Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ порядок» Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΈΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ.

Зависимости

Зависимости Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: мягкиС ΠΈ ТСсткиС. Если ΠΎΠ±Π° сСрвиса Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ»ΠΈΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π΅Ρ‚. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ вступаСт Π² дСйствиС, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сСрвисов Π½Π΅ смог Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ: Ссли Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ мягкая, Ρ‚ΠΎ зависимыС сСрвисы всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹, Π° Ссли ТСсткая, Ρ‚ΠΎ systemd Π½Π΅ станСт Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

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

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π² зависимости ΠΊ Ρ‡ΡƒΠΆΠΈΠΌ сСрвисам

Π’ систСмах с System V init Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² зависимости ΠΊ Ρ‡ΡƒΠΆΠΎΠΌΡƒ сСрвису ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ, лишь ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² Π΅Π³ΠΎ скрипт. Π’Π°ΠΊΠΈΠ΅ измСнСния, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²ΡƒΡ‚ обновлСния систСмы, поэтому ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… постоянными ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пСрСсборкой ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

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

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

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