You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2015/12/23 16:07:13 UTC
[34/51] [abbrv] ambari git commit: AMBARI-14466 warning setpgid
failed issued when starting ambari server (dsen)
AMBARI-14466 warning setpgid failed issued when starting ambari server (dsen)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ff4e90e4
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ff4e90e4
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ff4e90e4
Branch: refs/heads/branch-dev-patch-upgrade
Commit: ff4e90e4d76060f1143bcf9efca09e857e367e2a
Parents: a8238e0
Author: Dmytro Sen <ds...@apache.org>
Authored: Tue Dec 22 16:34:30 2015 +0200
Committer: Dmytro Sen <ds...@apache.org>
Committed: Tue Dec 22 16:34:30 2015 +0200
----------------------------------------------------------------------
.../src/main/python/ambari_server_main.py | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/ff4e90e4/ambari-server/src/main/python/ambari_server_main.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server_main.py b/ambari-server/src/main/python/ambari_server_main.py
index e9bdec3..cf8e8c0 100644
--- a/ambari-server/src/main/python/ambari_server_main.py
+++ b/ambari-server/src/main/python/ambari_server_main.py
@@ -275,8 +275,19 @@ def server_process_main(options, scmStatus=None):
if not os.path.exists(configDefaults.PID_DIR):
os.makedirs(configDefaults.PID_DIR, 0755)
+ # The launched shell process and sub-processes should have a group id that
+ # is different from the parent.
+ def make_process_independent():
+ processId = os.getpid()
+ if processId > 0:
+ try:
+ os.setpgid(processId, processId)
+ except OSError, e:
+ print_warning_msg('setpgid({0}, {0}) failed - {1}'.format(pidJava, str(e)))
+ pass
+
print_info_msg("Running server: " + str(param_list))
- procJava = subprocess.Popen(param_list, env=environ)
+ procJava = subprocess.Popen(param_list, env=environ, preexec_fn=make_process_independent)
pidJava = procJava.pid
if pidJava <= 0:
@@ -290,13 +301,6 @@ def server_process_main(options, scmStatus=None):
raise FatalException(-1, AMBARI_SERVER_DIE_MSG.format(exitcode, configDefaults.SERVER_OUT_FILE))
else:
- # Change the group id to the process id of the parent so that the launched
- # process and sub-processes have a group id that is different from the parent.
- try:
- os.setpgid(pidJava, 0)
- except OSError, e:
- print_warning_msg('setpgid({0}, 0) failed - {1}'.format(pidJava, str(e)))
- pass
pidfile = os.path.join(configDefaults.PID_DIR, PID_NAME)
save_pid(pidJava, pidfile)
print "Server PID at: "+pidfile