File: procrun.xml

package info (click to toggle)
commons-daemon 1.0.1-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,764 kB
  • ctags: 1,770
  • sloc: ansic: 15,466; sh: 2,530; xml: 1,504; java: 1,042; makefile: 81
file content (337 lines) | stat: -rw-r--r-- 9,218 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
<?xml version="1.0"?>

<document>
 <properties>
  <title>Daemon : Procrun</title>
  <author email="mturk@apache.org">Mladen Turk</author>
 </properties>

<body>
<section name="Introduction">
<p>
    Procrun is a set of libraries and applications for making Java
    applications to run on WIN32 much easier.    
</p> 
<subsection name="Procrun service application">
<p>
    <b>Prunsrv</b> is a service application for running applications as services.
    It can convert any application to run as a service.
</p>
</subsection>
<subsection name="Procrun monitor application">
<p>
    <b>Prunmgr</b> is a GUI application for monitoring and configuring procrun
    services.
</p>    
    <p>The available command line options are:</p>
<p> 
    <table>
    <tr><th>//ES//</th>
        <td>Edit service configuration</td>
        <td>This is the default operation. It is called if the no option is
            provided but the executable is renamed to <b>servicenameW.exe</b></td>
    </tr>
    <tr><th>//MS//</th>
        <td>Monitor service</td>
        <td>Put the icon in the system try</td>
    </tr>
    </table>
</p>
</subsection>
</section>
<section name="Command line arguments">
<p>
    Each command line directive is in the form of <b>//XX//ServiceName</b>
</p>
    <p>The available command line options are:</p>
<p> 
    <table>
    <tr><th>//TS//</th>
        <td>Run the service as console application</td>
        <td>This is the default operation. It is called if the no option is
            provided but the executable is renamed to <b>servicename.exe</b></td>
    </tr>
    <tr><th>//RS//</th>
        <td>Run the service</td>
        <td>Called only from ServiceManager</td>
    </tr>
    <tr><th>//SS//</th>
        <td>Stop the service</td>
        <td></td>
    </tr>
    <tr><th>//US//</th>
        <td>Update service parameters</td>
        <td></td>
    </tr>
    <tr><th>//IS//</th>
        <td>Install service</td>
        <td></td>
    </tr>
    <tr><th>//DS//</th>
        <td>Delete service</td>
        <td>Stops the service if running</td>
    </tr>        
    </table>
</p> 
</section>
<section name="Command line parameters">
<p>
    Each command parameter is prefixed with <b>--</b>.
    If the command line is prefixed with <b>++</b> then it's value will
    be appended to the existing option.
    If the environment variable with the same name as command line parameter but
    prefixed with <code>PR_</code> exists it will take precedence.
    For example:
<source>set PR_CLASSPATH=xx.jar</source>
</p>    
<p>is equivalent to providing
<source>--Classpath=xx.jar</source>
</p>
<p> as command line parameter.</p>
<p> 
    <table>
    <tr>
    <th>ParameterName</th>
	<th>Default</th>
	<th>Description</th>
	</tr> 
    <tr>
    <td>--Description</td>
    <td></td>
    <td>Service name description (maximum 1024 characters)</td>
    </tr>
    <tr>
    <td>--DisplayName</td>
    <td>ServiceName</td>
    <td>Service display name</td>
    </tr>
    <tr>
    <td>--Install</td>
    <td>procrun.exe //RS//ServiceName</td>
    <td>Install image</td>
    </tr>
    <tr>
    <td>--Startup</td>
    <td>manual</td>
    <td>Service startup mode can be either <b>auto</b> or <b>manual</b></td>
    </tr>
    <tr>
    <td>--DependsOn</td>
    <td></td>
    <td>List of services that this service depend on. Dependent services
        are separated using either <b>#</b> or <b>;</b> characters</td>
    </tr>
    <tr>
    <td>--Environment</td>
    <td></td>
    <td>List of environment variables that will be provided to the service
        in the form <b>key=value</b>. They are separated using either
        <b>#</b> or <b>;</b> characters</td>
    </tr>
    <tr>
    <td>--User</td>
    <td></td>
    <td>User account used for running executable. It is used only for
    	StartMode <b>java</b> or <b>exe</b> and enables running applications
    	as service under account without LogonAsService privilege.</td>
    </tr>
    <tr>
    <td>--Password</td>
    <td></td>
    <td>Password for user account set by --User parameter</td>
    </tr>
    <tr>
    <td>--JavaHome</td>
    <td>JAVA_HOME</td>
    <td>Set a different JAVA_HOME then defined by JAVA_HOME environment
        variable</td>
    </tr>
    <tr>
    <td>--Jvm</td>
    <td>auto</td>
    <td>Use either <b>auto</b> or specify the full path to the <b>jvm.dll</b>.
        You can use the environment variable expansion here.</td>
    </tr>
    <tr>
    <td>--JvmOptions</td>
    <td>-Xrs</td>
    <td>List of options in the form of <b>-D</b> or <b>-X</b> that will be
        passed to the JVM. The options are separated using either
        <b>#</b> or <b>;</b> characters.</td>
    </tr>
    <tr>
    <td>--Classpath</td>
    <td></td>
    <td>Set the Java classpath</td>
    </tr>
    <tr>
    <td>--JvmMs</td>
    <td></td>
    <td>Initial memory pool size in MB</td>
    </tr>
    <tr>
    <td>--JvmMx</td>
    <td></td>
    <td>Maximum memory pool size in MB</td>
    </tr>
    <tr>
    <td>--JvmSs</td>
    <td></td>
    <td>Thread stack size in KB</td>
    </tr>
    <tr>
    <tr>
    <td>--StartImage</td>
    <td></td>
    <td>Executable that will be run.</td>
    </tr>
    <tr>
    <td>--StartPath</td>
    <td></td>
    <td>Working path for the start image executable.</td>
    </tr>
    <tr>
    <td>--StartClass</td>
    <td></td>
    <td>Class that will be used for startup.</td>
    </tr>
    <tr>
    <td>--StartParams</td>
    <td></td>
    <td>List of parameters that will be passed to either StartImage or
        StartClass. Parameters are separated using either <b>#</b> or
        <b>;</b> character.</td>
    </tr>
    <tr>
    <td>--StartMethod</td>
    <td>Main</td>
    <td>Method name if differs then main</td>
    </tr>
    <tr>
    <td>--StartMode</td>
    <td>executable</td>
    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
    </tr>
    <td>--StopImage</td>
    <td></td>
    <td>Executable that will be run on Stop service signal.</td>
    </tr>
    <tr>
    <td>--StopPath</td>
    <td></td>
    <td>Working path for the stop image executable.</td>
    </tr>
    <tr>
    <td>--StopClass</td>
    <td></td>
    <td>Class that will be used on Stop service signal.</td>
    </tr>
    <tr>
    <td>--StopParams</td>
    <td></td>
    <td>List of parameters that will be passed to either StopImage or
        StopClass. Parameters are separated using either <b>#</b> or
        <b>;</b> character.</td>
    </tr>
    <tr>
    <td>--StopMethod</td>
    <td>Main</td>
    <td>Method name if differs then main</td>
    </tr>
    <tr>
    <td>--StopMode</td>
    <td>executable</td>
    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
    </tr>
    <tr>
    <td>--StopTimeout</td>
    <td>No Timeout</td>
    <td>Defines the timeout in seconds that procrun waits for service to
        exit gracefully.</td>
    </tr>
    <tr>
    <td>--LogPath</td>
    <td>working path</td>
    <td>Defines the path for logging</td>
    </tr>
    <tr>
    <td>--LogPrefix</td>
    <td>jakarta_service</td>
    <td>Defines the service log filename</td>
    </tr>
    <tr>
    <td>--LogLevel</td>
    <td>INFO</td>
    <td>Defines the logging level and can be either <b>error</b>,
        <b>info</b>, <b>warn</b> or <b>debug</b></td>
    </tr>
    <tr>
    <td>--StdOutput</td>
    <td></td>
    <td>Redirected stdout filename</td>
    </tr>
    <tr>
    <td>--StdError</td>
    <td></td>
    <td>Redirected stderr filename</td>
    </tr>    
    </table>
</p> 
</section>
<section name="Installing services">
<p>
To install the service, you need to use the <b>//IS//</b> parameter.
</p>
<p>
<screen>
<note>Install the service named 'TestService'</note>
<type>prunsrv //IS//TestService --DisplayName="Test Service" \</type>
<type>--Install=prunsrv.exe --Jvm=auto --StartMode=jvm --StopMode=jvm \</type>
<type>--StartClass=org.apache.SomeStartClass --StartParams=arg1;arg2;arg3 \</type>
<type>--StopClass=org.apache.SomeStopClass --StopParams=arg1#arg2 \</type>
</screen>
</p>
</section>
<section name="Updating services">
<p>
To update the service parameters, you need to use the <b>//US//</b> parameter.
</p>
<p>
<screen>
<note>Update the service named 'TestService'</note>
<type>prunsrv //US//TestService --Description="Some Dummy Test Service" \</type>
<type>--Startup=auto --Classpath=%CLASSPATH%;test.jar</type>
</screen>
</p>
</section>
<section name="Removing services">
<p>
To remove the service, you need to use the <b>//DS//</b> parameter.
If the service is running it will be stopped and then deleted.
</p>
<p>
<screen>
<note>Remove the service named 'TestService'</note>
<type>prunsrv //DS//TestService</type>
</screen>
</p>
</section>

<section name="Debugging services">
<p>
To run the service in console mode, you need to use the <b>//TS//</b> parameter.
The service shutdown can be initiated by pressing <b>CTRL+C</b> or
<b>CTRL+BREAK</b>.
If you rename the prunsrv.exe to testservice.exe then you can just execute the
testservice.exe and this command mode will be executed by default.
</p>
<p>
<screen>
<note>Run the service named 'TestService' in console mode</note>
<type>prunsrv //TS//TestService [additional arguments]</type>
</screen>
</p>
</section>

</body>
</document>