Allow listing all services.
[nssm.git] / README.txt
index 12a8393..ae6ca33 100644 (file)
@@ -70,6 +70,10 @@ Since version 2.25, NSSM can execute commands in response to service events.
 \r
 Since version 2.25, NSSM can list services it manages.\r
 \r
+Since version 2.25, NSSM can dump the configuration of services it manages.\r
+\r
+Since version 2.25, NSSM can show the processes managed by a service.\r
+\r
 \r
 Usage\r
 -----\r
@@ -729,6 +733,34 @@ separate command line arguments.  For example:
 \r
     nssm set <servicename> DependOnService RpcSs LanmanWorkstation\r
 \r
+Alternatively the dependency name can be prefixed with a + or - symbol to\r
+respectively add or remove a dependency.\r
+\r
+The following two lines set dependencies on RpcSs and LanmanWorkstation:\r
+\r
+    nssm set <servicename> DependOnService RpcSs\r
+    nssm set <servicename> DependOnService +LanmanWorkstation\r
+\r
+The follwing syntax removes the dependency on RpcSs:\r
+\r
+    nssm set <servicename> DependOnService -RpcSs\r
+\r
+Service groups should, strictly speaking, be prefixed with the + symbol.\r
+To specify a single dependency on a group, the + symbol can be prefixed\r
+with the : symbol.\r
+\r
+The following lines are equivalent, and each set a dependency ONLY on\r
+NetBIOSGroup:\r
+\r
+    nssm set <servicename> DependOnGroup NetBIOSGroup\r
+    nssm set <servicename> DependOnGroup :NetBIOSGroup\r
+    nssm set <servicename> DependOnGroup :+NetBIOSGroup\r
+\r
+Whereas these lines add to any existing dependencies:\r
+\r
+    nssm set <servicename> DependOnGroup +NetBIOSGroup\r
+    nssm set <servicename> DependOnGroup ++NetBIOSGroup\r
+\r
 \r
 The Name parameter can only be queried, not set.  It returns the service's\r
 registry key name.  This may be useful to know if you take advantage of\r
@@ -838,6 +870,43 @@ The following command will print the names of all services managed by NSSM:
 \r
     nssm list\r
 \r
+To see all services on the system, not just NSSM's, use list all:\r
+\r
+    nssm list all\r
+\r
+\r
+Showing processes started by a service\r
+--------------------------------------\r
+The following command will print the process ID and executable path of\r
+processes started by a given service:\r
+\r
+    nssm processes <servicename>\r
+\r
+Note that if 32-bit NSSM is run on a 64-bit system running an older version of\r
+Windows than Vista it will not be able to query the paths of 64-bit processes.\r
+\r
+\r
+Exporting service configuration\r
+-------------------------------\r
+NSSM can dump commands which would recreate the configuration of a service.\r
+The output can be pasted into a batch script to back up the service or\r
+transfer to another computer.\r
+\r
+    nssm dump <servicename>\r
+\r
+Because the service configuration may contain characters which need to be\r
+quoted or escaped from the command prompt, NSSM tries hard to produce\r
+output which will work correctly when run as a script, by adding quotes\r
+and caret escapes as appropriate.\r
+\r
+To facilitate copying a service, the dump command accepts a second\r
+argument which specifies the name of the service to be used in the output.\r
+\r
+    nssm dump <servicename> <newname>\r
+\r
+Lines in the dump will reference the <newname> service while showing the\r
+configuration of <servicename>.\r
+\r
 \r
 Example usage\r
 -------------\r
@@ -933,6 +1002,7 @@ Thanks to Paul Baxter for help with Visual Studio 2015.
 Thanks to Mathias Breiner for help with Visual Studio and some registry fixes.\r
 Thanks to David Bremner for general tidyups.\r
 Thanks to Nabil Redmann for suggesting redirecting hooks' output.\r
+Thanks to Bader Aldurai for suggesting the process tree.\r
 \r
 Licence\r
 -------\r