dinitctl.8.m4 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. changequote(`@@@',`$$$')dnl
  2. @@@.TH DINITCTL "8" "$$$MONTH YEAR@@@" "Dinit $$$VERSION@@@" "Dinit \- service management system"
  3. .SH NAME
  4. dinitctl \- control services supervised by Dinit
  5. .\"
  6. .SH SYNOPSIS
  7. .\"
  8. .B dinitctl
  9. [\fIoptions\fR] \fBstart\fR [\fB\-\-no\-wait\fR] [\fB\-\-pin\fR] \fIservice-name\fR
  10. .br
  11. .B dinitctl
  12. [\fIoptions\fR] \fBstop\fR [\fB\-\-no\-wait\fR] [\fB\-\-pin\fR] \fIservice-name\fR
  13. .br
  14. .B dinitctl
  15. [\fIoptions\fR] \fBrestart\fR [\fB\-\-no\-wait\fR] \fIservice-name\fR
  16. .br
  17. .B dinitctl
  18. [\fIoptions\fR] \fBwake\fR [\fB\-\-no\-wait\fR] \fIservice-name\fR
  19. .br
  20. .B dinitctl
  21. [\fIoptions\fR] \fBrelease\fR \fIservice-name\fR
  22. .br
  23. .B dinitctl
  24. [\fIoptions\fR] \fBunpin\fR \fIservice-name\fR
  25. .br
  26. .B dinitctl
  27. [\fIoptions\fR] \fBunload\fR \fIservice-name\fR
  28. .br
  29. .B dinitctl
  30. [\fIoptions\fR] \fBreload\fR \fIservice-name\fR
  31. .br
  32. .B dinitctl
  33. [\fIoptions\fR] \fBlist\fR
  34. .br
  35. .B dinitctl
  36. [\fIoptions\fR] \fBshutdown\fR
  37. .br
  38. .B dinitctl
  39. [\fIoptions\fR] \fBadd-dep\fR \fIdependency-type\fR \fIfrom-service\fR \fIto-service\fR
  40. .br
  41. .B dinitctl
  42. [\fIoptions\fR] \fBrm-dep\fR \fIdependency-type\fR \fIfrom-service\fR \fIto-service\fR
  43. .br
  44. .B dinitctl
  45. [\fIoptions\fR] \fBenable\fR [\fB\-\-from\fR \fIfrom-service\fR] \fIto-service\fR
  46. .br
  47. .B dinitctl
  48. [\fIoptions\fR] \fBdisable\fR [\fB\-\-from\fR \fIfrom-service\fR] \fIto-service\fR
  49. .\"
  50. .SH DESCRIPTION
  51. .\"
  52. \fBdinitctl\fR is a utility to control services being managed by the
  53. \fBdinit\fR daemon. It allows starting and stopping services, and listing
  54. service status, amongst other actions. It functions by issuing commands to the daemon
  55. via a control socket.
  56. .\"
  57. .SH GENERAL OPTIONS
  58. .TP
  59. \fB\-\-help\fR
  60. Display brief help text and then exit.
  61. .TP
  62. \fB\-s\fR, \fB\-\-system\fR
  63. Control the system init process (this is the default unless run as a non-root user). This option
  64. determines the default path to the control socket used to communicate with the \fBdinit\fR daemon
  65. process (it does not override the \fB\-s\fR option).
  66. .TP
  67. \fB\-u\fR, \fB\-\-user\fR
  68. Control the user init process (this is the default when not run as root). This option determines
  69. the default path to the control socket used to communicate with the \fBdinit\fR daemon process
  70. (it does not override the \fB\-s\fR option).
  71. .TP
  72. \fB\-\-socket\-path\fR \fIsocket-path\fR, \fB\-p\fR \fIsocket-path\fR
  73. Specify the path to the socket used for communicating with the service manager daemon.
  74. .TP
  75. \fB\-\-quiet\fR
  76. Suppress status output, except for errors.
  77. .\"
  78. .SH COMMAND OPTIONS
  79. .TP
  80. \fB\-\-no\-wait\fR
  81. Do not wait for issued command to complete; exit immediately.
  82. .TP
  83. \fB\-\-pin\fR
  84. Pin the service in the requested state. The service will not leave the state until it is unpinned.
  85. A service that is pinned stopped cannot be marked active, that is, start commands issued to the
  86. service have no effect. Dependents (via hard dependency relationships) of the pinned service will
  87. be unable to start.
  88. A service that is pinned started cannot be stopped, however its explicit activation can be removed
  89. (eg via the \fBstop\fR or \fBrelease\fR commands). Once unpinned, a service which is not explicitly
  90. activated, and which has no active dependents, will automatically stop.
  91. .TP
  92. \fB\-\-force\fR
  93. Stop the service even if it will require stopping other services which depend on the specified service.
  94. .TP
  95. \fIservice-name\fR
  96. Specifies the name of the service to which the command applies.
  97. .TP
  98. \fBstart\fR
  99. Start the specified service. The service is marked as explicitly activated and will not be stopped
  100. automatically if its dependents stop. If the service is currently stopping it will generally continue
  101. to stop before it is then restarted.
  102. .TP
  103. \fBstop\fR
  104. Stop the specified service, and remove explicit activation. If the service has (non-soft) dependents, an
  105. error will be displayed unless the \fB\-\-force\fR option is used.
  106. The \fBrestart\fR option (see \fBdinit-service\fR(5)) applied to the stopped service will not cause the
  107. service to restart when it is stopped via this command (that is, this command inhibits automatic restart).
  108. This also applies to any dependents that must also be stopped at the same time.
  109. Any pending \fBstart\fR orders are cancelled,
  110. though a service which is starting will continue its startup before then stopping (unless the service is
  111. configured to have an interruptible startup or is otherwise at a stage of startup which can be safely
  112. interrupted).
  113. .TP
  114. \fBrestart\fR
  115. Restart the specified service. The service will be stopped and then restarted, without affecting explicit
  116. activation status or dependency links from dependents.
  117. .TP
  118. \fBwake\fR
  119. Start the specified service after reattaching dependency links from all active dependents of the specified
  120. service. The service will not be marked explicitly activated, and so will stop if all the dependents stop.
  121. .TP
  122. \fBrelease\fR
  123. Clear the explicit activation mark from a service (the service will then stop if it has no active dependents).
  124. .TP
  125. \fBunpin\fR
  126. Remove start- and stop- pins from a service. If a started service is not explicitly activated and
  127. has no active dependents, it will stop. If a started service has a dependency service which is stopping,
  128. it will stop. If a stopped service has a dependent service which is starting, it will start. Otherwise,
  129. any pending start/stop commands will be carried out.
  130. .TP
  131. \fBunload\fR
  132. Completely unload a service. This can only be done if the service is stopped and has no loaded dependents
  133. (i.e. dependents must be unloaded before their dependencies).
  134. .TP
  135. \fBreload\fR
  136. Attempt to reload a service description. This is intended as a convenience for making simple changes to a
  137. service, without having to stop, remove dependencies to and unload the service. However it is not completely
  138. equivalent to doing a proper unload/reload; some altered settings may not take effect until the service is
  139. restarted, and some cannot be changed at all while the service is running.
  140. In particular, the type of a running service cannot be changed; nor can the \fBinittab-id\fR, \fBinittab-line\fR,
  141. or \fBpid-file\fR settings, or the \fBruns-on-console\fR or \fBshares-console\fR flags. If any hard dependencies
  142. are added to a running service, the dependencies must already be started.
  143. .TP
  144. \fBlist\fR
  145. List loaded services and their state. Before each service, one of the following state indicators is
  146. displayed:
  147. .RS
  148. .nf
  149. \f[C]\m[blue][{+}\ \ \ \ \ ]\m[]\fR \[em] service has started.
  150. \f[C]\m[blue][{\ }<<\ \ \ ]\m[]\fR \[em] service is starting.
  151. \f[C]\m[blue][\ \ \ <<{\ }]\m[]\fR \[em] service is starting, will stop once started.
  152. \f[C]\m[blue][{\ }>>\ \ \ ]\m[]\fR \[em] service is stopping, will start once stopped.
  153. \f[C]\m[blue][\ \ \ >>{\ }]\m[]\fR \[em] service is stopping.
  154. \f[C]\m[blue][\ \ \ \ \ {-}]\m[]\fR \[em] service has stopped.
  155. .fi
  156. The << and >> symbols represent a transition state (starting and stopping respectively); curly braces
  157. indicate the desired state (left: started, right: stopped). An 's' in place of '+' means that service
  158. startup was skipped (possible only if the service is configured as skippable). An 'X' in place of '-'
  159. means that the service failed to start, or that the service process unexpectedly terminated with an
  160. error status or signal while running.
  161. Additional information, if available, will be printed after the service name: whether the service owns,
  162. or is waiting to acquire, the console; the process ID; the exit status or signal that caused termination.
  163. .RE
  164. .TP
  165. \fBshutdown\fR
  166. Stop all services (without restart) and terminate Dinit. If issued to the system instance of Dinit,
  167. this will also shut down the system.
  168. .TP
  169. \fBadd-dep\fR
  170. Add a dependency between two services. The \fIdependency-type\fR must be one of \fBregular\fR,
  171. \fBmilestone\fR or \fBwaits-for\fR. Note that adding a regular dependency requires that the service
  172. states are consistent with the dependency (i.e. if the "from" service is started, the "to" service
  173. must also be started). Circular dependency chains may not be created.
  174. .TP
  175. \fBrm-dep\fR
  176. Remove a dependency between two services. The \fIdependency-type\fR must be one of \fBregular\fR,
  177. \fBmilestone\fR or \fBwaits-for\fR. If the "to" service is not otherwise active it may be stopped
  178. as a result of removing the dependency.
  179. .TP
  180. \fBenable\fR
  181. Permanently enable a \fBwaits-for\fR dependency between two services. This is much like \fBadd-dep\fR
  182. but it also starts the dependency if the dependent is started (without explicit activation, so the
  183. dependency will stop if the dependent stops), and it creates a symbolic link in the directory
  184. specified via the \fBwaits-for.d\fR directive in the service description (there must be only one such
  185. directive). The dependency should therefore be persistent.
  186. If the \fB--from\fR option is not used to specify the dependent, the dependency is created from the
  187. \fBboot\fR service by default.
  188. .TP
  189. \fBdisable\fR
  190. Permanently disable a \fBwaits-for\fR dependency between two services. This is the complement of the
  191. \fBenable\fR command; see the description above for more information.
  192. .\"
  193. .SH SERVICE OPERATION
  194. .\"
  195. Normally, services are only started if they have been explicitly activated (\fBstart\fR command) or if
  196. a started service depends on them. Therefore, starting a service also starts all services that the first
  197. depends on; stopping the same service then also stops the dependency services, unless they are also
  198. required by another explicitly activated service.
  199. .LP
  200. A service can be pinned in either the started or stopped state. This is mainly intended to be used to
  201. prevent automated stop or start of a service, including via a dependency or dependent service, during
  202. a manual administrative procedure.
  203. .LP
  204. Stopping a service does not in general prevent it from restarting. A service configured to restart
  205. automatically, or with a dependent service configured to do so, will restart immediately after stopping
  206. unless pinned.
  207. .\"
  208. .SH SEE ALSO
  209. \fBdinit\fR(8), \fBdinit-service\fR(5).
  210. .\"
  211. .SH AUTHOR
  212. Dinit, and this manual, were written by Davin McCall.
  213. $$$dnl