Add an action to run an external program
This documentation is for legacy Kiwi Syslog Server versions 9.8.2 and older.
This feature is available only in a licensed edition of Kiwi Syslog Server.
You can add a Kiwi Syslog Server action to run an external program. Details of the message and other Kiwi Syslog Server statistics can be passed to the external program as command-line arguments.
A new instance of the external program is launched for every message. This becomes a problem if messages arrive faster than the external program exits. It is especially true if Kiwi Syslog Server is installed as a service, in which case the external program is launched by the service inside the non-interactive Windows session. To see that the program is running use the Task Manager. If not used carefully this action leads to the computer being flooded with multiple instances of the external program.
- From the Kiwi Syslog Service Manager, choose File > Setup.
- Add a rule, or locate an existing rule.
- Right-click Actions below the rule, and click Add Action.
- Click the default action name, and enter a descriptive name.
From the Action menu, select Run external program.
Specify the program file name.
- In the Command line options field, specify the command line options you would like to pass to the program.
- To pass program variables, counters, script fields and statistics to the external program, click on the Insert message content or counter link and choose an option.
Specify the priority of the new process created.
Value Priority level Description 0 Low Specify this class for a process whose threads run when the system is idle. The threads of the process are preempted by the threads of processes running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes. 1 Below Normal Indicates a process that has priority above Idle but below Normal. 2 Normal Default value. Specify this class for a process with no special scheduling needs. 3 Above Normal Indicates a process that has priority above Normal but below High. 4 High Specify this class for a process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is the Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use the majority of available CPU time. 5 Realtime
Specify this class for a process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
Realtime priority can cause system lockups.
If the process has a user interface, specify the Window Mode.
This setting has no effect on processes that do not have a user interface. This setting is unavailable if you are running Kiwi Syslog Server as a service.
If you select Wait for program initialization to complete before continuing, Kiwi Syslog Server waits for the new process to complete its initialization. It does this by waiting until the new process signals that it is idle. This is a blocking operation. Kiwi Syslog Server does not process messages until it receives the
InputIdlesignal from the process. Because of this, there is an additional option which specifies how long Kiwi Syslog Server should wait for the process to initialize. Once this time interval has elapsed, Kiwi Syslog Server assumes that the process started correctly.
This setting is useful if you are interacting with the process at a later stage, and you want to be sure that the process has started.
- Test the action.
- Click Apply.