Index: tools/on_demand_service_tool.ad |
diff --git a/tools/on_demand_service_tool.ad b/tools/on_demand_service_tool.ad |
new file mode 100644 |
index 0000000000000000000000000000000000000000..23e2bc21f97a1573fbef42958bf447f79191ec17 |
--- /dev/null |
+++ b/tools/on_demand_service_tool.ad |
@@ -0,0 +1,102 @@ |
+// Copyright 2014 The Crashpad Authors. All rights reserved. |
+// |
+// Licensed under the Apache License, Version 2.0 (the "License"); |
+// you may not use this file except in compliance with the License. |
+// You may obtain a copy of the License at |
+// |
+// http://www.apache.org/licenses/LICENSE-2.0 |
+// |
+// Unless required by applicable law or agreed to in writing, software |
+// distributed under the License is distributed on an "AS IS" BASIS, |
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+// See the License for the specific language governing permissions and |
+// limitations under the License. |
+ |
+:doctype: manpage |
+ |
+= on_demand_service_tool(1) |
+ |
+== Name |
+ |
+on_demand_service_tool - Load and unload on-demand Mach services registered with |
+launchd(8) |
+ |
+== Synopsis |
+ |
+[verse] |
+*on_demand_service_tool* *-L* *-l* 'LABEL' ['OPTION…'] 'COMMAND' ['ARG…'] |
+*on_demand_service_tool* *-U* *-l* 'LABEL' |
+ |
+== Description |
+ |
+On-demand services may be registered with launchd(8) by using the *--load* form. |
+One or more service names may be registered with the bootstrap server by |
+specifying *--mach_service*. When a Mach message is sent to any of these |
+services, launchd(8) will invoke 'COMMAND' along with any arguments specified |
+('ARG…'). 'COMMAND' must be an absolute pathname. |
+ |
+The *--unload* form unregisters jobs registered with launchd(8). |
+ |
+== Options |
+ |
+*-L*, *--load*:: |
+Registers a job with launchd(8). *--label*='LABEL' and 'COMMAND' are required. |
+This operation may also be referred to as “load” or “submit”. |
+ |
+*-U*, *--unload*:: |
+Unregisters a job with launchd(8). *--label*='LABEL' is required. This operation |
+may also be referred to as “unload” or “remove”. |
+ |
+*-l*, *--label*='LABEL':: |
+'LABEL' is used as the job label to identify the job to launchd(8). 'LABEL' must |
+be unique within a launchd(8) context. |
+ |
+*-m*, *--mach_service*='SERVICE':: |
+In conjunction with *--load*, registers 'SERVICE' with the bootstrap server. |
+Clients will be able to obtain a send right by looking up the 'SERVICE' name |
+with the bootstrap server. When a message is sent to such a Mach port, |
+launchd(8) will invoke 'COMMAND' along with any arguments specified ('ARG…') if |
+it is not running. This forms the “on-demand” nature referenced by this tool’s |
+name. This option may appear zero, one, or more times. 'SERVICE' must be unique |
+within a bootstrap context. |
+ |
+*--help*:: |
+Display help and exit. |
+ |
+*--version*:: |
+Output version information and exit. |
+ |
+== Examples |
+ |
+Registers an on-demand server that will execute catch_exception_tool(1) when a |
+Mach message is sent to a Mach port obtained from the bootstrap server by |
+looking up the name +svc+: |
+[subs="quotes"] |
+---- |
+$ *on_demand_service_tool --load --label=catch_exception \ |
+ --mach_service=svc \ |
+ $(which catch_exception_tool) --mach_service=svc \ |
+ --file=/tmp/out --nonblocking --persistent* |
+---- |
+ |
+Unregisters the on-demand server installed above: |
+[subs="quotes"] |
+---- |
+$ *on_demand_service_tool --unload --label=catch_exception* |
+---- |
+ |
+== Exit Status |
+ |
+*0*:: |
+Success. |
+ |
+*1*:: |
+Failure, with a message printed to the standard error stream. |
+ |
+== See Also |
+ |
+exception_port_tool(1), |
+launchctl(1) |
+on_demand_service_tool(1) |
+ |
+include::man_footer.ad[] |