annotate ProcessManager.py @ 4:f64af329930f

Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
author Atul Varma <varmaa@toolness.com>
date Wed, 19 Mar 2008 00:01:25 +0000
parents 6d1dc2d106f6
children 7e11415cf272
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 # Copyright (c) 2006, Humanized, Inc.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3 # All rights reserved.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5 # Redistribution and use in source and binary forms, with or without
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 # modification, are permitted provided that the following conditions
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7 # are met:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
9 # * Redistributions of source code must retain the above copyright
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10 # notice, this list of conditions and the following disclaimer.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
12 # * Redistributions in binary form must reproduce the above
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13 # copyright notice, this list of conditions and the following
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
14 # disclaimer in the documentation and/or other materials provided
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
15 # with the distribution.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
17 # * Neither the name of Humanized, Inc. nor the names of its
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
18 # contributors may be used to endorse or promote products derived
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
19 # from this software without specific prior written permission.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
20 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
21 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
22 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
23 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
24 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
25 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
26 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
27 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
28 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
29 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
30 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
31 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
32 # POSSIBILITY OF SUCH DAMAGE.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
33 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
34
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
35 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
36 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
37 # ProcessManager.py
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
38 # Author: Atul Varma <atul@humanized.com>
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
39 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
40 # Python Version - 2.4
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
41 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
42 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
43
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
44 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
45 A simple module for process management. Please see the file
3
6d1dc2d106f6 Fixed documentation.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
46 README, included with this distribution, for more
6d1dc2d106f6 Fixed documentation.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
47 information.
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
48 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
49
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
50 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
51 # TODO's
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
52 #
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
53 # * Document the public methods better.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
54 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
55
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
56 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
57 # Imports
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
58 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
59
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
60 import os
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
61 import sys
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
62 import time
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
63
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
64
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
65 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
66 # Public Names and Version Information
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
67 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
68
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
69 __all__ = [
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
70 "Process",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
71 "init",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
72 "add",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
73 "rcScriptMain",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
74 "main"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
75 ]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
76
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
77 __version__ = "0.0.4"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
78
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
79
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
80 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
81 # Constants
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
82 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
83
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
84 # Amount of time we wait in seconds after starting a process to see if
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
85 # it's still alive.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
86 POST_PROCESS_START_DELAY = 5
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
87
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
88 # Amount of time we wait in seconds after killing a process to see if
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
89 # it's dead.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
90 POST_PROCESS_STOP_DELAY = 2
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
91
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
92 # A list of all valid commands, accessible from the command-line; they
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
93 # map directly to public instance methods of the Process class.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
94 COMMANDS = {
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
95 "stop" : "stop the target",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
96 "start" : "start the target",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
97 "restart" : "restart (stop, then start) the target",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
98 "status" : "show status of the target"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
99 }
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
100
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
101 # Usage string when running the module's main() function.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
102 USAGE_TEXT = """\
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
103
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
104 %(scriptName)s <target> <command> [options]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
105
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
106 targets:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
107 %(targets)s\
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
108 all (this target applies the command to all
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
109 of the above targets)
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
110
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
111 commands:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
112 %(commands)s\
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
113 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
114
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
115 # Usage string when running the module's rcScriptMain() function.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
116 RC_SCRIPT_USAGE_TEXT = """\
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
117
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
118 %(scriptName)s <command> [options]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
119
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
120 This script controls %(targetDesc)s.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
121
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
122 commands:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
123 %(commands)s\
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
124 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
125
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
126 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
127 # Module Variables
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
128 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
129
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
130 # Directory where all intermediate data files are kept.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
131 _dataDir = None
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
132
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
133 # Our process registry; keys are the name identifiers for processes,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
134 # and the values are Process objects.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
135 _processes = {}
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
136
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
137 # OptionParser object representing command-line options parser.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
138 _parser = None
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
139
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
140 # object storing command-line options, created by an OptionParser
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
141 # object.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
142 _options = None
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
143
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
144
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
145 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
146 # Process Class
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
147 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
148
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
149 class Process:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
150 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
151 Encapsulates a process that can be stopped, started, and
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
152 restarted.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
153 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
154
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
155 def __init__( self,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
156 name,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
157 desc,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
158 program,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
159 args,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
160 workingDir,
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
161 uid = None,
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
162 gid = None,
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
163 stopSignal = None ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
164 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
165 Creates a process with the given name/identifier, description,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
166 program executable path, argument tuple, and working
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
167 directory. When it is run, it will run with the given user
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
168 and group ID privileges. When it is stopped, the given signal
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
169 will be sent to tell it to do so.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
170 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
171
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
172 if stopSignal == None:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
173 import signal
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
174 stopSignal = signal.SIGKILL
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
175
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
176 self.name = name
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
177 self.desc = desc
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
178 self.program = program
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
179 self.args = [ program ]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
180 self.args.extend( args )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
181 self.workingDir = workingDir
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
182 self.stopSignal = stopSignal
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
183
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
184 if gid and uid:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
185 import grp
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
186 import pwd
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
187
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
188 self.gid = grp.getgrnam( gid )[2]
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
189 self.uid = pwd.getpwnam( uid )[2]
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
190 elif gid or uid:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
191 raise ValueError(
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
192 "For process '%s', either gid or uid must both be None, "
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
193 "or both must be set." % self.name
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
194 )
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
195 else:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
196 self.gid = None
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
197 self.uid = None
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
198
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
199 def canCurrentUserManage( self ):
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
200 """
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
201 Returns whether the current user has the ability to manage this
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
202 process.
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
203 """
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
204
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
205 if os.getuid() == 0:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
206 # we're running as root, so all is good.
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
207 result = True
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
208 elif self.uid is None:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
209 # We don't need to change the user to manage the
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
210 # process, so all is good.
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
211 result = True
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
212 elif self.uid == os.getuid() and self.gid == os.getgid():
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
213 # uid and gid are specified, but they're the
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
214 # current user, so all is good.
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
215 result = True
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
216 else:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
217 # uid and gid are specified, they're different from
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
218 # the current user, and we're not root, so this
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
219 # isn't good.
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
220 result = False
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
221
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
222 return result
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
223
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
224 def _pidfile( self ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
225 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
226 Returns the filename of the pid file for this process. A pid
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
227 file just contains the pid of the process, if it's believed to
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
228 be currently running.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
229 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
230
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
231 return os.path.join( _dataDir, "%s.pid" % self.name )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
232
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
233 def _readpid( self ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
234 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
235 Opens the pid file for this process and gets the pid for
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
236 it. If the pid file doesn't exist, this method returns None.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
237 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
238
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
239 if not os.path.exists( self._pidfile() ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
240 return None
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
241 f = open( self._pidfile(), "r" )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
242 pid = int( f.read() )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
243 f.close()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
244 return pid
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
245
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
246 def status( self ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
247 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
248 Public method that prints out what this process' status is
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
249 (running, stopped, etc).
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
250 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
251
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
252 print "%-30s%s" % ( self.name, self._getStatus() )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
253
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
254 def _getStatus( self ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
255 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
256 Returns a single word indicating the status of this process.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
257 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
258
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
259 pid = self._readpid()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
260 if pid == None:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
261 return "stopped"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
262 elif _isPidRunning( pid ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
263 return "running"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
264 else:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
265 return "crashed"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
266
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
267 def start( self ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
268 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
269 Public method that starts the process. If the process is
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
270 already deemed to be running, nothing happens.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
271
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
272 If the process fails to launch, raise a
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
273 ProcessStartupError exception.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
274 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
275
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
276 pid = self._readpid()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
277 if pid != None:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
278 if _isPidRunning( pid ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
279 print "Process '%s' is already running!" % self.name
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
280 return
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
281 else:
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
282 print ( "Hmm. Process '%s' seems to have "
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
283 "died prematurely." % self.name )
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
284
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
285 # Start the process now.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
286 leftColumnText = "Launching %s..." % self.name
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
287 print "%-30s" % leftColumnText,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
288 sys.stdout.flush()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
289
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
290 self._doStart()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
291
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
292 def _doStart( self ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
293 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
294 Protected implementation method that starts the actual
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
295 process.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
296 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
297
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
298 forkResult = os.fork()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
299 if forkResult == 0:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
300 # We're the child process.
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
301 if self.uid is not None:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
302 assert self.gid is not None
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
303 os.setgid( self.gid )
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
304 os.setuid( self.uid )
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
305
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
306 os.chdir( self.workingDir )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
307
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
308 nullFile = os.open( "/dev/null", os.O_RDWR )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
309
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
310 # Replace stdin.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
311 os.dup2( nullFile, 0 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
312
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
313 # Replace stdout
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
314 if not _options.enableStdout:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
315 os.dup2( nullFile, 1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
316
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
317 # Replace stderr
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
318 if not _options.enableStderr:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
319 os.dup2( nullFile, 2 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
320
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
321 os.close( nullFile )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
322
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
323 # Launch the program.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
324 os.execv( self.program, self.args )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
325 else:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
326 # We're the parent process.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
327 pid = forkResult
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
328 f = open( self._pidfile(), "w" )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
329 f.write( "%d" % pid )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
330 f.close()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
331
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
332 time.sleep( POST_PROCESS_START_DELAY )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
333
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
334 retVal = os.waitpid( pid, os.WNOHANG )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
335 if retVal == (0, 0):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
336 print "OK"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
337 else:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
338 print "FAILED"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
339 raise ProcessStartupError()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
340
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
341 def stop( self, warnCrashed = True ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
342 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
343 Public method that stops the process if it's currently
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
344 running.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
345 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
346
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
347 pid = self._readpid()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
348 if pid != None:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
349 if _isPidRunning( pid ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
350 leftColumnText = "Stopping %s..." % self.name
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
351 print "%-30s" % leftColumnText,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
352 sys.stdout.flush()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
353
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
354 os.kill( pid, self.stopSignal )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
355
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
356 time.sleep( POST_PROCESS_STOP_DELAY )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
357
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
358 if not _isPidRunning( pid ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
359 print "OK"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
360 else:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
361 print "FAILED"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
362 elif warnCrashed:
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
363 print ( "Hmm. Process '%s' seems to have "
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
364 "died prematurely." % self.name )
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
365 os.remove( self._pidfile() )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
366 else:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
367 print "Process '%s' is not running." % self.name
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
368
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
369 def restart( self ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
370 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
371 Public method that stops the process and then starts it again.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
372 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
373
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
374 self.stop( warnCrashed = False )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
375 self.start()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
376
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
377 class ProcessStartupError( Exception ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
378 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
379 Exception raised when a process fails to start.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
380 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
381
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
382 pass
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
383
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
384
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
385 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
386 # Module Functions
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
387 # ----------------------------------------------------------------------------
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
388
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
389 def init( dataDir ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
390 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
391 Initializes the module.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
392
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
393 dataDir is the directory where all intermediate data files are
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
394 stored (e.g., pidfiles).
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
395 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
396
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
397 global _dataDir
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
398
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
399 _dataDir = dataDir
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
400
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
401 def _isPidRunning( pid ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
402 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
403 Returns whether or not a process with the given pid is running.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
404 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
405
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
406 return os.path.exists( "/proc/%d" % pid )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
407
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
408 def add( process ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
409 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
410 Adds the given Process object as a target for the registry of
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
411 processes to manage.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
412 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
413
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
414 if _processes.has_key( process.name ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
415 raise TargetAlreadyExistsError()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
416 _processes[process.name] = process
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
417
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
418 class TargetAlreadyExistsError( Exception ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
419 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
420 Exception raised when a target is added to the ProcessManager
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
421 whose name already exists.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
422 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
423
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
424 pass
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
425
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
426 def _runCommandOnProcesses( command, processes ):
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
427 """
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
428 Runs the given command on the given Process objects and
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
429 returns True if successful, False if an error occurred.
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
430 """
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
431
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
432 success = True
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
433
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
434 if command != "status":
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
435 for process in processes:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
436 if not process.canCurrentUserManage():
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
437 print ( "The process '%s' cannot be managed "
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
438 "by the current user." % process.name )
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
439 success = False
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
440
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
441 if success:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
442 for process in processes:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
443 method = getattr( process, command )
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
444 try:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
445 method()
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
446 except ProcessStartupError:
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
447 success = False
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
448
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
449 return success
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
450
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
451 def _runCommandOnTarget( command, target ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
452 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
453 Runs the given command on the given target.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
454 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
455
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
456 if _dataDir == None:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
457 print "Error! ProcessManager not initialized."
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
458 print "Please use ProcessManager.init()."
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
459 sys.exit( -1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
460
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
461 if target == "all":
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
462 processes = [ process for process in _processes.values() ]
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
463 else:
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
464 processes = [_processes[target]]
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
465
4
f64af329930f Any user can now use ProcessManager to manage processes--root is no longer required. However, an error will be displayed if the user doesn't have privileges to manage a process because a user/group change is required.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
466 if not _runCommandOnProcesses( command, processes ):
0
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
467 sys.exit( -1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
468
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
469 def _generateTargetHelpText():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
470 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
471 Returns a string containing a list of available targets with their
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
472 descriptions.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
473 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
474
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
475 targets = ""
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
476 for key in _processes.keys():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
477 targets += " %-21s%s\n" % ( key, _processes[key].desc )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
478 return targets
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
479
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
480 def _generateCommandHelpText():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
481 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
482 Returns a string containing a list of available commands with a
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
483 description of what they do.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
484 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
485
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
486 commands = ""
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
487 for command in COMMANDS.keys():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
488 commands += " %-21s%s\n" % ( command, COMMANDS[command] )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
489 commands = commands[:-1]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
490 return commands
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
491
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
492 def rcScriptMain():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
493 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
494 The main function of the rc-script use of the Process Manager,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
495 whereby the name of the script determines the target, and the
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
496 first command-line parameter determines the command.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
497 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
498
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
499 target = os.path.split( sys.argv[0] )[1]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
500 if not _processes.has_key( target ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
501 # If we're in a rc.d directory, we may have 3 characters
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
502 # prepended to our name, such as "S01foo". So let's try
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
503 # stripping off the first 3 characters of our name and seeing
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
504 # if that works as a target.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
505 if target[0] in ["K", "S"]:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
506 ordering = target[1:3]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
507 try:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
508 # See if these characters constitute a number.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
509 int( ordering )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
510 # If so, let's try reinterpreting our target.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
511 target = target[3:]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
512 except ValueError:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
513 pass
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
514
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
515 if not _processes.has_key( target ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
516 print "ERROR: Target '%s' does not exist!" % target
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
517 print "Consider renaming this script to match one"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
518 print "of the following targets:"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
519 print
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
520 print _generateTargetHelpText()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
521 sys.exit( -1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
522
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
523 usageTextDict = {
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
524 "scriptName" : target,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
525 "targetDesc" : _processes[ target ].desc,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
526 "commands" : _generateCommandHelpText(),
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
527 }
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
528
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
529 usageText = RC_SCRIPT_USAGE_TEXT % usageTextDict
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
530
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
531 _processCmdLineOptions( usageText )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
532
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
533 if len( sys.argv ) == 1:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
534 command = ""
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
535 else:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
536 command = sys.argv[1]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
537
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
538 if not command in COMMANDS.keys():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
539 _parser.print_help()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
540 sys.exit( -1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
541
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
542 _runCommandOnTarget( command, target )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
543
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
544 def _processCmdLineOptions( usageText ):
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
545 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
546 Parses and processes standard command-line options.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
547 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
548
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
549 import optparse
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
550
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
551 global _parser
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
552 global _options
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
553 global _args
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
554
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
555 _parser = optparse.OptionParser( usage = usageText )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
556 _parser.add_option(
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
557 "-e", "--enable-stderr",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
558 action = "store_true", dest = "enableStderr", default = False,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
559 help = "enable output of starting target's stderr to console"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
560 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
561 _parser.add_option(
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
562 "-o", "--enable-stdout",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
563 action = "store_true", dest = "enableStdout", default = False,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
564 help = "enable output of starting target's stdout to console"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
565 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
566 _parser.add_option(
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
567 "-v", "--version",
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
568 action = "store_true", dest = "showVersion", default = False,
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
569 help = "print version information and exit"
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
570 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
571
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
572 ( _options, _args ) = _parser.parse_args()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
573
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
574 if _options.showVersion:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
575 print "ProcessManager v%s (invoked via %s)" % \
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
576 ( __version__, sys.argv[0] )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
577 sys.exit( 0 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
578
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
579 def main():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
580 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
581 The main function of the Process Manager which processes
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
582 command-line arguments and acts on them.
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
583 """
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
584
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
585 usageTextDict = {
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
586 "scriptName" : os.path.split( sys.argv[0] )[1],
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
587 "targets" : _generateTargetHelpText(),
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
588 "commands" : _generateCommandHelpText(),
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
589 }
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
590
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
591 usageText = USAGE_TEXT % usageTextDict
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
592
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
593 _processCmdLineOptions( usageText )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
594
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
595 if len( _args ) < 2:
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
596 _parser.print_help()
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
597 sys.exit( -1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
598
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
599 target = _args[0]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
600 command = _args[1]
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
601
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
602 if target not in _processes.keys() and target != "all":
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
603 print "Invalid target: '%s'" % target
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
604 sys.exit( -1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
605 if command not in COMMANDS.keys():
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
606 print "Invalid command: '%s'" % command
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
607 sys.exit( -1 )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
608
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
609 _runCommandOnTarget( command, target )
3f775e3235fb Origination, taken from http://www.humanized.com/ProcessManager/ProcessManager-0.0.4.tar.gz (just renamed README.txt to README).
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
610