Solaris и smf: как выполнить завершение работы rc.local с помощью smf?

Похоже, этот термин используется неоднозначно.  Похоже, он означает либо

  • оператор, либо
  • оператор, объединенный с одним или двумя операндами, в зависимости от ситуации, для получения булевского значения

Ссылки:

Справочное руководство Bash, Раздел 3.2.4.2 Условные конструкции, говоря о [[...]]], говорит:

... Выражения состоят из первичных элементов, описанных ниже в Bash Условные выражения.  ...

это несколько запутанный раздел, который вы цитируете в своем вопросе.  Далее в нем перечисляются -a файл, -b file, ..., -t fd, ..., file1 -ef file2, ..., -z string, ..., string1 != string2, и т.д.

И спецификация POSIX для команды test, section OPERANDS (спасибо, BinaryZebra, за идентификацию этого источника) говорится:

Праймари с двумя элементами формы:
    - первичный_оператор первичный_операнд
известны как унарные первички.  Примари с тремя элементами в любой из двух форм:
    primary_operand -primary_operator primary_operand

primary_operand primary_operator primary_operand
известны как бинарные первообразные.  ...

Итак, эти два источника, похоже, согласны с тем. что -b файл, -c файл и т.д.., это праймериз.  Но, вы правы; когда в разделе 6.4 справочного руководства говорится о том. "аргументе file к одному из первичных". кажется, что речь идет об операторах. (например, -b, -c, ...) как первичные.

1
14.02.2019, 08:50
1 ответ

Solaris smfподдерживает устаревшие сценарии, поэтому ваш /etc/rc0.d/K400rc.local.shutdown.shбудет выполняться при завершении работы. Префикс K40и суффикс .sh— единственные важные части, остальные 0rc.local.shutdownне имеют значения для ОС.

Если вы хотите преобразовать эту задачу в службу smf, вместо того, чтобы думать об уровнях завершения работы и запуска, лучше определить, от чего будет зависеть ваша служба (ваша служба остановится после завершения работы выбранной службы ).

Затем создайте манифест без -запуска операции exec-methodи используйте сценарий выключения в качестве остановки exec-method.

2
27.01.2020, 23:30

Теги

Похожие вопросы