nSystemctlOptionsA.sh 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. #!/bin/bash
  2. source "sSystemctl.sh"
  3. MARK(){ $e "\e[1;35m";}
  4. #
  5. HEAD()
  6. {
  7. for (( a=2; a<=40; a++ ))
  8. do
  9. TPUT $a 1
  10. $E "\e[35m\xE2\x94\x82 \xE2\x94\x82\e[0m";
  11. done
  12. TPUT 2 3;$E "\e[1;36mOptions \e[0m \e[36m Подразумеваются следующие варианты:\e[0m";
  13. TPUT 3 1;$E "\e[35m├────────────────────────────────────────────────────────────────────────────────┤\e[0m";
  14. TPUT 38 1;$E "\033[35m├─ Up \xE2\x86\x91 \xE2\x86\x93 Down Select Enter ─────────────────────────────────────────────────────┤\e[0m";
  15. MARK;TPUT 1 1;$E "\033[0m\033[35m┌────────────────────────────────────────────────────────────────────────────────┐\033[0m";UNMARK;
  16. }
  17. FOOT(){ MARK;TPUT 41 1;$E "\033[0m\033[35m└────────────────────────────────────────────────────────────────────────────────┘\033[0m";UNMARK;}
  18. #
  19. M0(){ TPUT 4 3; $e "только для отображения модулей интересующего нас типа \e[33m -t --type= \e[0m";}
  20. M1(){ TPUT 5 3; $e "отфильтровать список служб по состоянию \e[33m --state= \e[0m";}
  21. M2(){ TPUT 6 3; $e "Oграничьте отображение свойствами, указанными в аргументе \e[33m -p --property= \e[0m";}
  22. M3(){ TPUT 7 3; $e "Эквивалент --value --propertyu003d \e[32m -P \e[0m";}
  23. M4(){ TPUT 8 3; $e "увидеть все модули, которые загрузила система systemd \e[33m -a --all \e[0m";}
  24. M5(){ TPUT 9 3; $e "Oтобразить список хост-дисков и локальных контейнеров \e[32m -r --recursive \e[0m";}
  25. M6(){ TPUT 10 3; $e "Показывать обратные зависимости между единицами со списками \e[32m --reverse \e[0m";}
  26. M7(){ TPUT 11 3; $e "Показать единицы, которые упорядочены перед указанной единицей \e[32m --after \e[0m";}
  27. M8(){ TPUT 12 3; $e "Показать единицы, которые упорядочены после указанной единицы \e[32m --before \e[0m";}
  28. M9(){ TPUT 13 3; $e "Bыводят указанные модули \e[32m --with-dependencies \e[0m";}
  29. M10(){ TPUT 14 3; $e "Не делайте многоточие \e[33m -l --full \e[0m";}
  30. M11(){ TPUT 15 3; $e "Печатайте только значение и пропускайте имя свойства и «u003d» \e[32m --value \e[0m";}
  31. M12(){ TPUT 16 3; $e "При отображении сокетов покажите тип сокета \e[32m --show-types \e[0m";}
  32. M13(){ TPUT 17 3; $e "Kак поступать с уже поставленными в очередь заданиями \e[32m --job-mode= \e[0m";}
  33. M14(){ TPUT 18 3; $e "Показывать краткую информацию обо всех заданиях \e[32m -T --show-transaction \e[0m";}
  34. M15(){ TPUT 19 3; $e "Сокращение для --job-modeu003dfail \e[32m --fail \e[0m";}
  35. M16(){ TPUT 20 3; $e "Kак поступать с запретительными блокировками \e[32m --check-inhibitors= \e[0m";}
  36. M17(){ TPUT 21 3; $e "Ярлык для --check-inhibitorsu003dno \e[32m -i \e[0m";}
  37. M18(){ TPUT 22 3; $e "Просто распечатайте, что будет сделано \e[32m --dry-run \e[0m";}
  38. M19(){ TPUT 23 3; $e "Mинимальный вывод \e[32m -q --quiet \e[0m";}
  39. M20(){ TPUT 24 3; $e "Не ждите синхронно завершения запрошенной операции \e[32m --no-block \e[0m";}
  40. M21(){ TPUT 25 3; $e "Синхронно ждите, пока запущенные блоки снова закончат работу \e[32m --wait \e[0m";}
  41. M22(){ TPUT 26 3; $e "Поговорите с сервис-менеджером вызывающего пользователя \e[32m --user \e[0m";}
  42. M23(){ TPUT 27 3; $e "Поговорите с сервис-менеджером системы \e[32m --system \e[0m";}
  43. M24(){ TPUT 28 3; $e "Список единиц в неисправном состоянии \e[32m --failed \e[0m";}
  44. M25(){ TPUT 29 3; $e "Не отправляйте сообщение на стену до остановки \e[32m --no-wall \e[0m";}
  45. M26(){ TPUT 30 3; $e "Pаботайте с глобальным каталогом конфигурации пользователя \e[32m --global \e[0m";}
  46. M27(){ TPUT 31 3; $e "Hе следует неявно перезагружать конфигурацию демона \e[32m --no-reload \e[0m";}
  47. M28(){ TPUT 32 3; $e "C запуском и связанными командами отключает запрос паролей\e[32m --no-ask-password \e[0m";}
  48. M29(){ TPUT 33 3; $e "C kill выберите, каким процессам отправлять сигнал \e[32m --kill-who= \e[0m";}
  49. M30(){ TPUT 34 3; $e "C kill выберите, какой сигнал отправить выбранным процессам \e[32m -s --signal= \e[0m";}
  50. M31(){ TPUT 35 3; $e "Выберите, какой тип ресурсов для каждого устройства следует удалить \e[32m --what= \e[0m";}
  51. M32(){ TPUT 36 3; $e "принудительное выполнение команды \e[32m -f --force \e[0m";}
  52. M33(){ TPUT 37 3; $e "установите короткое сообщение, объясняющее причину операции \e[32m --message= \e[0m";}
  53. #
  54. M34(){ TPUT 39 3; $e "Далее \e[36m Next \e[0m";}
  55. M35(){ TPUT 40 3; $e "Выход \e[36m Exit \e[0m";}
  56. LM=35
  57. MENU(){ for each in $(seq 0 $LM);do M${each};done;}
  58. POS(){ if [[ $cur == up ]];then ((i--));fi
  59. if [[ $cur == dn ]];then ((i++));fi
  60. if [[ $i -lt 0 ]];then i=$LM;fi
  61. if [[ $i -gt $LM ]];then i=0;fi;}
  62. REFRESH(){ after=$((i+1)); before=$((i-1))
  63. if [[ $before -lt 0 ]];then before=$LM;fi
  64. if [[ $after -gt $LM ]];then after=0;fi
  65. if [[ $j -lt $i ]];then UNMARK;M$before;else UNMARK;M$after;fi
  66. if [[ $after -eq 0 ]] || [ $before -eq $LM ];then
  67. UNMARK; M$before; M$after;fi;j=$i;UNMARK;M$before;M$after;}
  68. INIT(){ R;HEAD;FOOT;MENU;}
  69. SC(){ REFRESH;MARK;$S;$b;cur=`ARROW`;}
  70. # Функция возвращения в меню
  71. ES(){ MARK;$e " ENTER = main menu ";$b;read;INIT;};INIT
  72. while [[ "$O" != " " ]]; do case $i in
  73. 0) S=M0;SC; if [[ $cur == enter ]];then R;echo -e "
  74. Аргумент должен быть списком разделенных запятыми типов единиц, таких как служба
  75. и сокет:\e[32m systemctl list-units --type=service\e[0m
  76. Если один из аргументов является типом единиц, при перечислении единиц ограничи-
  77. вайте отображение определенными типами единиц. В противном случае будут показаны
  78. юниты всех типов. В особом случае, если одним из аргументов является help,
  79. будет напечатан список допустимых значений, и программа завершит работу.
  80. Чтобы увидеть все активные цели:\e[32m systemctl list-units --type=target\e[0m
  81. ";ES;fi;;
  82. 1) S=M1;SC; if [[ $cur == enter ]];then R;echo -e "
  83. Аргумент должен быть списком состояний модуля LOAD, SUB или ACTIVE, разделенных
  84. запятыми. При перечислении юнитов показывать только те, которые находятся в ука-
  85. занных состояниях. Используйте --stateu003dfailed,
  86. чтобы показать только неисправные единицы.
  87. Kоторые завершились с ошибкой:
  88. \e[32m systemctl list-units --type service --state failed\e[0m
  89. В качестве СТАТУСа могут быть значения:
  90. \e[32m systemctl list-units --all --state=inactive \e[0m неактивный
  91. \e[32m active \e[0m активный
  92. \e[32m running \e[0m работает
  93. \e[32m exited \e[0m завершили свою работу
  94. \e[32m dead \e[0m неживой
  95. \e[32m loaded \e[0m загружен
  96. \e[32m not-found\e[0m не найдено
  97. \e[32m plugged \e[0m подключен
  98. \e[32m mounted \e[0m смонтированный
  99. \e[32m waiting \e[0m ожидающий
  100. \e[32m listening\e[0m слушающий
  101. ";ES;fi;;
  102. 2) S=M2;SC; if [[ $cur == enter ]];then R;echo -e "
  103. При отображении свойств unit/job/manager (подразделения/работы/менеджера)
  104. с помощью команды show ограничьте отображение свойствами, указанными в аргументе.
  105. Аргумент должен быть списком имен свойств, разделенных запятыми,
  106. например «MainPID». Если не указано иное, отображаются все известные свойства.
  107. Если указано более одного раза, отображаются все свойства с указанными именами.
  108. Завершение оболочки реализовано для имен свойств.
  109. Для самого менеджера systemctl show покажет все доступные свойства,
  110. большинство из которых являются производными
  111. или близко соответствуют параметрам, описанным в systemd-system.conf
  112. Свойства юнитов различаются в зависимости от типа юнита,
  113. поэтому отображение любого юнита (даже несуществующего)
  114. — это способ перечислить свойства, относящиеся к этому типу.
  115. Точно так же при отображении любого задания будут перечислены свойства,
  116. относящиеся ко всем заданиям. Свойства юнитов задокументированы в systemd.unit
  117. и на страницах для отдельных типов юнитов systemd.service, systemd.socket и т.д.
  118. \e[32m systemctl show bluetooth.service -p Conflicts\e[0m
  119. ";ES;fi;;
  120. 3) S=M3;SC; if [[ $cur == enter ]];then R;echo -e "
  121. Эквивалент --value --propertyu003d,
  122. т.е. показывает значение свойства без имени свойства или u003d.
  123. Обратите внимание, что однократное использование -P также повлияет на все
  124. свойства, перечисленные с параметром -p/--propertyu003d.
  125. ";ES;fi;;
  126. 4) S=M4;SC; if [[ $cur == enter ]];then R;echo -e "
  127. увидеть все модули, которые загрузила система systemd:
  128. \e[32m systemctl list-units --all\e[0m
  129. При перечислении единиц с единицами-списками также покажите неактивные единицы
  130. и единицы, которые следуют за другими единицами.
  131. При отображении свойств объекта/работы/менеджера показывать все свойства
  132. независимо от того, установлены они или нет.
  133. Чтобы вывести список всех модулей, установленных в файловой системе,
  134. используйте вместо этого команду list-unit-files:
  135. При перечислении модулей со списком зависимостей рекурсивно показывать
  136. зависимости всех зависимых модулей
  137. (по умолчанию отображаются только зависимости целевых модулей).
  138. ";ES;fi;;
  139. 5) S=M5;SC; if [[ $cur == enter ]];then R;echo -e "
  140. При перечислении единиц также покажите единицы локальных контейнеров.
  141. Единицы локальных контейнеров будут иметь префикс имени контейнера,
  142. разделенный одним символом двоеточия (:).
  143. ";ES;fi;;
  144. 6) S=M6;SC; if [[ $cur == enter ]];then R;echo -e "
  145. Показывать обратные зависимости между единицами со списками-зависимостями,
  146. т.е. следовать зависимостям типа: WantedByu003d, RequiredByu003d, PartOfu003d,
  147. BoundByu003d вместо Wantsu003d и подобных.
  148. ";ES;fi;;
  149. 7) S=M7;SC; if [[ $cur == enter ]];then R;echo -e "
  150. Со списками-зависимостями показать единицы, которые упорядочены перед указанной
  151. единицей. Другими словами,
  152. рекурсивно выведите список единиц, следующих за зависимостью Afteru003d.
  153. Обратите внимание, что любая зависимость Afteru003d автоматически зеркально
  154. отражается для создания зависимости Beforeu003d. Временные зависимости могут быть
  155. указаны явно, но они также создаются неявно для объектов, являющихся целями
  156. WantedByu003d (см. systemd.target(5)),
  157. и в результате других директив (например, RequiresMountsForu003d). Как явно,
  158. так и неявно введенные зависимости показаны с помощью списка-зависимостей.
  159. При передаче в команду list-jobs для каждого напечатанного задания показывается,
  160. какие другие задания ожидают его.
  161. Можно комбинировать с --before, чтобы показать как задания,
  162. ожидающие каждого задания, так и все задания, ожидающие каждого задания.
  163. ";ES;fi;;
  164. 8) S=M8;SC; if [[ $cur == enter ]];then R;echo -e "
  165. Со списками-зависимостями показать единицы, которые упорядочены после указанной
  166. единицы. Другими словами, рекурсивно выведите список единиц, следующих за
  167. зависимостью Beforeu003d.
  168. При передаче в команду list-jobs для каждого напечатанного задания показывается,
  169. какие другие задания оно ожидает. Может быть объединен с --after, чтобы показать
  170. как задания, ожидающие каждого задания, так и все задания,
  171. ожидающие каждого задания.
  172. ";ES;fi;;
  173. 9) S=M9;SC; if [[ $cur == enter ]];then R;echo -e "
  174. При использовании с status, cat, list-unit и list-unit-files эти команды выводят
  175. все указанные модули и зависимости этих модулей.
  176. Опции --reverse, --after, --before
  177. могут использоваться для изменения отображаемых типов зависимостей.
  178. ";ES;fi;;
  179. 10) S=M10;SC;if [[ $cur == enter ]];then R;echo -e "
  180. --full редактировать весь файл модуля:
  181. \e[32m sudo systemctl edit --full bluetooth.service\e[0m
  182. Не делайте многоточие в именах модулей, элементах дерева процессов, выходных дан-
  183. ных журнала или усекайте описания модулей в выходных данных состояния, списков
  184. единиц, списков-заданий и списков-таймеров.
  185. Также покажите цели установки в выводе is-enabled.
  186. ";ES;fi;;
  187. 11) S=M11;SC;if [[ $cur == enter ]];then R;echo -e "
  188. При печати свойств с помощью show печатайте только значение
  189. и пропускайте имя свойства и «u003d». Также см. опцию -P выше.
  190. ";ES;fi;;
  191. 12) S=M12;SC;if [[ $cur == enter ]];then R;echo -e "
  192. При отображении сокетов покажите тип сокета.
  193. ";ES;fi;;
  194. 13) S=M13;SC;if [[ $cur == enter ]];then R;echo -e "
  195. При постановке в очередь нового задания этот параметр определяет, как поступать
  196. с уже поставленными в очередь заданиями. Требуется одно из:\e[32m
  197. fail replace replace-irreversibly isolate ignore-dependencies ignore-requirements
  198. flush triggering\e[0m По умолчанию используется \e[32mreplace\e[0m, за исключением случаев,
  199. когда используется команда \e[32misolate\e[0m, которая подразумевает \e[32misolate\e[0m режим задания.
  200. Если указано \e[32mfail\e[0m и запрошенная операция конфликтует с ожидающим заданием
  201. (точнее: приводит к тому, что уже ожидающее запуска задание превращается в
  202. остановленное задание или наоборот), операция завершается ошибкой.
  203. Если указано \e[32mreplace\e[0m (по умолчанию),
  204. любое конфликтующее ожидающее задание будет заменено по мере необходимости.
  205. Если указано \e[32mreplace-irreversibly\e[0m, действуйте как \e[32mreplace\e[0m,
  206. но также помечайте новые задания как необратимые. Это предотвращает замену этих
  207. заданий будущими конфликтующими транзакциями (или даже постановку в очередь,
  208. пока необратимые задания все еще ожидают выполнения). Необратимые задания
  209. по-прежнему можно отменить с помощью команды отмены. Этот режим задания следует
  210. использовать для любой транзакции, которая использует shutdown.target.
  211. \e[32misolate\e[0m действителен только для операций запуска и приводит к остановке
  212. всех других устройств при запуске указанного устройства.
  213. Этот режим всегда используется, когда используется команда изоляции.
  214. \e[32mflush\e[0m приведет к отмене всех заданий в очереди,
  215. когда новое задание будет поставлено в очередь.
  216. Если указано \e[32mignore-dependencies\e[0m, то для этого нового задания
  217. игнорируются все зависимости модулей, и операция выполняется немедленно.
  218. В случае успешного прохождения никакие требуемые единицы переданной единицы
  219. не будут загружены, и никакие зависимости от порядка не будут соблюдаться.
  220. В основном это инструмент отладки и восстановления для администратора,
  221. и его не следует использовать в приложениях.
  222. \e[32mignore-requirements\e[0m аналогичен \e[32mignore-dependencies\e[0m,
  223. но приводит только к игнорированию зависимостей требований,
  224. упорядоченные зависимости по-прежнему будут соблюдаться.
  225. \e[32mtriggering\e[0m может использоваться только с остановкой systemctl.
  226. В этом режиме указанный юнит и любые активные юниты, которые его вызывают,
  227. останавливаются. См. обсуждение Triggersu003d в systemd.unit
  228. для получения дополнительной информации о запускающих юнитах.
  229. ";ES;fi;;
  230. 14) S=M14;SC;if [[ $cur == enter ]];then R;echo -e "
  231. При постановке в очередь единичного задания (например, в результате вызова
  232. systemctl start или подобного) показывать краткую информацию обо всех заданиях,
  233. поставленных в очередь, включая как запрошенное задание, так и любые добавленные
  234. из-за зависимостей модулей.
  235. Обратите внимание, что выходные данные будут включать только задания,
  236. непосредственно являющиеся частью запрошенной транзакции.
  237. Возможно, код программы запуска службы, запущенный в результате поставленных
  238. в очередь заданий, может запросить получение дополнительных заданий.
  239. Это означает, что завершение перечисленных заданий может в конечном итоге
  240. повлечь за собой большее количество заданий, чем перечисленные.
  241. ";ES;fi;;
  242. 15) S=M15;SC;if [[ $cur == enter ]];then R;echo -e "
  243. Сокращение для --job-modeu003dfail. При использовании с командой kill,
  244. если ни один юнит не был убит, операция приводит к ошибке.
  245. ";ES;fi;;
  246. 16) S=M16;SC;if [[ $cur == enter ]];then R;echo -e "
  247. Когда запрашивается отключение системы или переход в спящий режим,
  248. этот параметр управляет тем, как поступать с запретительными блокировками.
  249. Требуется одно из\e[32m auto/yes/no\e[0m.
  250. По умолчанию установлено значение «auto», которое будет вести себя как «yes»
  251. для интерактивных вызовов (т. е. с телетайпа) и «no» для неинтерактивных вызовов.
  252. «yes» позволит запросу соблюдать блокировку запрета.
  253. «no» позволит запросу игнорировать блокировку запрета.
  254. Приложения могут устанавливать запретительные блокировки, чтобы избежать
  255. прерывания определенных важных операций (таких как запись компакт-диска и т. п.)
  256. из-за выключения системы или перехода в спящий режим.
  257. Любой пользователь может взять эти блокировки, а привилегированные пользователи
  258. могут отменить эти блокировки. Если какие-либо блокировки сняты, запросы на
  259. выключение и спящий режим обычно не выполняются
  260. (если только они не привилегированные), и печатается список активных блокировок.
  261. Однако, если указано «no» или указано «auto» для неинтерактивных запросов,
  262. установленные блокировки игнорируются и не отображаются, и операция все равно
  263. предпринимается, что может потребовать дополнительных привилегий.
  264. Может быть переопределен --force.
  265. ";ES;fi;;
  266. 17) S=M17;SC;if [[ $cur == enter ]];then R;echo -e "
  267. Ярлык для --check-inhibitorsu003dno
  268. ";ES;fi;;
  269. 18) S=M18;SC;if [[ $cur == enter ]];then R;echo -e "
  270. Просто распечатайте, что будет сделано.
  271. В настоящее время поддерживаются глаголы:
  272. \e[32m halt, poweroff, reboot, kexec, suspend, hibernate, hybrid-sleep,
  273. suspend-then-hibernate, default, rescue, emergency, exit
  274. \e[0m";ES;fi;;
  275. 19) S=M19;SC;if [[ $cur == enter ]];then R;echo -e "
  276. Подавить печать результатов различных команд,
  277. а также подсказки об усеченных строках журнала.
  278. Это не подавляет вывод команд, для которых печатный вывод является
  279. единственным результатом (например, show). Ошибки всегда печатаются.
  280. ";ES;fi;;
  281. 20) S=M20;SC;if [[ $cur == enter ]];then R;echo -e "
  282. Не ждите синхронно завершения запрошенной операции.
  283. Если это не указано, задание будет проверено, поставлено в очередь,
  284. а systemctl будет ждать завершения запуска модуля.
  285. При передаче этого аргумента задание только проверяется и ставится в очередь.
  286. Эту опцию нельзя сочетать с --wait .
  287. ";ES;fi;;
  288. 21) S=M21;SC;if [[ $cur == enter ]];then R;echo -e "
  289. Синхронно ждите, пока запущенные блоки снова закончат работу.
  290. Эту опцию нельзя использовать вместе с --no-block.
  291. Обратите внимание, что это будет ждать вечно, если какой-либо данный модуль
  292. никогда не завершится (сам по себе или в результате явной остановки);
  293. особенно службы, которые используют RemainAfterExitu003dyes
  294. При использовании с is-system-running
  295. дождитесь завершения процесса загрузки перед возвратом.
  296. ";ES;fi;;
  297. 22) S=M22;SC;if [[ $cur == enter ]];then R;echo -e "
  298. Поговорите с сервис-менеджером вызывающего пользователя,
  299. а не с сервис-менеджером системы.
  300. ";ES;fi;;
  301. 23) S=M23;SC;if [[ $cur == enter ]];then R;echo -e "
  302. Поговорите с сервис-менеджером системы. Это подразумевается по умолчанию.
  303. ";ES;fi;;
  304. 24) S=M24;SC;if [[ $cur == enter ]];then R;echo -e "
  305. Список единиц в неисправном состоянии. Это эквивалентно --stateu003dfailed.
  306. ";ES;fi;;
  307. 25) S=M25;SC;if [[ $cur == enter ]];then R;echo -e "
  308. Не отправляйте сообщение на стену до остановки, отключения питания и перезагрузки.
  309. ";ES;fi;;
  310. 26) S=M26;SC;if [[ $cur == enter ]];then R;echo -e "
  311. При использовании с включением и отключением работайте с глобальным каталогом
  312. конфигурации пользователя, таким образом включая или отключая модульный файл
  313. глобально для всех будущих входов в систему всех пользователей.
  314. ";ES;fi;;
  315. 27) S=M27;SC;if [[ $cur == enter ]];then R;echo -e "
  316. При использовании с включением и отключением не следует неявно перезагружать
  317. конфигурацию демона после выполнения изменений.
  318. ";ES;fi;;
  319. 28) S=M28;SC;if [[ $cur == enter ]];then R;echo -e "
  320. При использовании с запуском и связанными командами отключает запрос паролей.
  321. Фоновые службы могут потребовать ввода пароля или строки парольной фразы,
  322. например, для разблокировки системных жестких дисков или криптографических
  323. сертификатов. Если эта опция не указана и команда не вызывается с терминала,
  324. systemctl запросит у пользователя на терминале необходимые секреты.
  325. Используйте эту опцию, чтобы отключить это поведение. В этом случае пароль
  326. должен быть предоставлен каким-либо другим способом (например, графическими
  327. агентами паролей), иначе служба может не работать. Это также отключает запрос
  328. пользователя на аутентификацию для привилегированных операций.
  329. ";ES;fi;;
  330. 29) S=M29;SC;if [[ $cur == enter ]];then R;echo -e "
  331. При использовании с kill выберите, каким процессам отправлять сигнал.
  332. Должен быть один из основных, управляющих или всех, чтобы выбрать, следует ли
  333. убить только основной процесс, управляющий процесс или все процессы устройства.
  334. Основным процессом агрегата является тот, который определяет время его жизни.
  335. Процесс управления единицей — это процесс, который вызывается менеджером для
  336. изменения ее состояния. Например, все процессы, запущенные из-за настроек
  337. ExecStartPreu003d, ExecStopu003d или ExecReloadu003d сервисных единиц, являются
  338. управляющими процессами. Обратите внимание, что в каждый момент времени
  339. существует только один процесс управления для каждого устройства,
  340. так как одновременно выполняется только одно изменение состояния.
  341. Для сервисов типа Typeu003dforking начальный процесс, запущенный менеджером для
  342. ExecStartu003d, является управляющим процессом, а процесс, в конечном итоге
  343. разветвленный им, считается затем основным процессом модуля (если его можно
  344. определить). Это отличается для единиц обслуживания других типов, где процесс,
  345. разветвленный менеджером для ExecStartu003d, всегда является основным процессом.
  346. Сервисная единица состоит из нуля или одного основного процесса, нуля или одного
  347. управляющего процесса плюс любое количество дополнительных процессов.
  348. Однако не все типы единиц управляют процессами этих типов.
  349. Например, для модулей монтирования определены управляющие процессы
  350. (которые являются вызовами /bin/mount и /bin/umount),
  351. но основной процесс не определен. Если опущено, по умолчанию все.
  352. ";ES;fi;;
  353. 30) S=M30;SC;if [[ $cur == enter ]];then R;echo -e "
  354. При использовании с kill выберите, какой сигнал отправить выбранным процессам.
  355. Должен быть одним из известных спецификаторов сигнала, таких как:
  356. SIGTERM, SIGINT или SIGSTOP.
  357. Если опущено, по умолчанию используется SIGTERM.
  358. Специальное значение «help» перечислит известные значения, и программа немедленно
  359. завершит работу, а специальное значение «list» перечислит известные значения
  360. вместе с числовыми номерами сигналов, и программа немедленно завершит работу.
  361. ";ES;fi;;
  362. 31) S=M31;SC;if [[ $cur == enter ]];then R;echo -e "
  363. Выберите, какой тип ресурсов для каждого устройства следует удалить при вызове
  364. команды очистки, см. ниже. Принимает одну из конфигурации, состояния, кеша,
  365. журналов, среды выполнения для выбора типа ресурса. Этот параметр можно указать
  366. более одного раза, и в этом случае все указанные типы ресурсов удаляются.
  367. Также принимает специальное значение all в качестве ярлыка для указания всех пяти
  368. типов ресурсов. Если этот параметр не указан, по умолчанию используется комбинация
  369. кэша и среды выполнения, т. е. два вида ресурсов, которые обычно считаются
  370. избыточными и могут быть восстановлены при следующем вызове.
  371. ";ES;fi;;
  372. 32) S=M32;SC;if [[ $cur == enter ]];then R;echo -e "
  373. При использовании с enable перезаписывает любые существующие конфликтующие
  374. символические ссылки.
  375. При использовании с редактированием создайте все указанные единицы,
  376. которые еще не существуют.
  377. При использовании с halt, poweroff, reboot или kexec выполнить выбранную
  378. операцию без отключения всех устройств.
  379. Однако все процессы будут принудительно завершены,
  380. а все файловые системы размонтированы или перемонтированы только для чтения.
  381. Следовательно, это радикальный, но относительно безопасный вариант запроса на
  382. немедленную перезагрузку. Если для этих операций дважды указать --force
  383. (за исключением kexec), они будут выполняться немедленно, без завершения
  384. каких-либо процессов или размонтирования каких-либо файловых систем.
  385. Предупреждение: указание --force дважды с любой из этих операций может привести
  386. к потере данных.
  387. Обратите внимание, что когда --force указан дважды, выбранная операция
  388. выполняется самим systemctl, и системный менеджер не связывается. Это означает,
  389. что команда должна завершиться успешно,
  390. даже если произошел сбой системного менеджера.
  391. ";ES;fi;;
  392. 33) S=M33;SC;if [[ $cur == enter ]];then R;echo -e "
  393. При использовании с остановкой, отключением питания или перезагрузкой установите
  394. короткое сообщение, объясняющее причину операции. Сообщение будет
  395. зарегистрировано вместе с сообщением о завершении работы по умолчанию.
  396. ";ES;fi;;
  397. #
  398. 34) S=M34;SC;if [[ $cur == enter ]];then R;./nSystemctlOptionsB.sh;ES;fi;;
  399. 35) S=M35;SC;if [[ $cur == enter ]];then R;exit 0;fi;;
  400. esac;POS;done