class twisted.scripts._twistd_unix.UnixApplicationRunner(app.ApplicationRunner): (source)
An ApplicationRunner which does Unix-specific things, like fork, shed privileges, and maintain a PID file.
Method | preApplication | Do pre-application-creation setup. |
Instance Variable | oldstdout | Undocumented |
Instance Variable | oldstderr | Undocumented |
Method | postApplication | To be called after the application is created: start the application and run the reactor. After the reactor stops, clean up PID files and such. |
Method | removePID | Remove the specified PID file, if possible. Errors are logged, not raised. |
Method | setupEnvironment | Set the filesystem root, the working directory, and daemonize. |
Method | daemonize | Daemonizes the application on Unix. This is done by the usual double forking approach. |
Method | shedPrivileges | Change the UID and GID or the EUID and EGID of this process. |
Method | startApplication | Configure global process state based on the given application and run the application. |
Method | _formatChildException | No summary |
Method | _waitForStart | Wait for the daemonization success. |
Inherited from ApplicationRunner:
Instance Variable | config | The config object, which provides a dict-like interface. |
Instance Variable | application | Available in postApplication, but not preApplication. This is the application object. |
Instance Variable | profilerFactory | Factory for creating a profiler object, able to profile the application if options are set accordingly. |
Instance Variable | profiler | Instance provided by profilerFactory . |
Instance Variable | loggerFactory | Factory for creating object responsible for logging. |
Instance Variable | logger | Instance provided by loggerFactory . |
Method | __init__ | Undocumented |
Method | run | Run the application. |
Method | startReactor | Run the reactor with the given configuration. Subclasses should probably call this from postApplication . |
Method | createOrGetApplication | Create or load an Application based on the parameters found in the given ServerOptions instance. |
Instance Variable | _exitSignal | Undocumented |
Format the exception
in preparation for writing to the status pipe. This does the right thing on Python 2 if the exception's message is Unicode, and in all cases limits the length of the message afte* encoding to 100 bytes.
This means the returned message may be truncated in the middle of a unicode escape.
Parameters | exception | The exception to format. (type: Exception ) |
Returns | The formatted message, suitable for writing to the status pipe. (type: bytes ) |
To be called after the application is created: start the application and run the reactor. After the reactor stops, clean up PID files and such.
Remove the specified PID file, if possible. Errors are logged, not raised.
Parameters | pidfile | The path to the PID tracking file. (type: str ) |
Set the filesystem root, the working directory, and daemonize.
Parameters | chroot | If not None, a path to use as the filesystem root (using os.chroot ). (type: str or None ) |
rundir | The path to set as the working directory. (type: str ) | |
nodaemon | A flag which, if set, indicates that daemonization should not be done. (type: bool ) | |
umask | The value to which to change the process umask. (type: int or None ) | |
pidfile | If not None , the path to a file into which to put the PID of this process. (type: str or None ) |
Daemonizes the application on Unix. This is done by the usual double forking approach.
Parameters | reactor | The reactor in use. If it provides IReactorDaemonize , its daemonization-related callbacks will be invoked. |
Returns | A writable pipe to be used to report errors. (type: int ) | |
See Also | http://code.activestate.com/recipes/278731/ | |
W. Richard Stevens, "Advanced Programming in the Unix Environment", 1992, Addison-Wesley, ISBN 0-201-56317-7 |
Wait for the daemonization success.
Parameters | readPipe | file descriptor to read start information from. (type: int ) |
Returns | code to be passed to os._exit : 0 for success, 1 for error. (type: int ) |
Configure global process state based on the given application and run the application.
Parameters | application | An object which can be adapted to service.IProcess and service.IService . |