From 8a6776caa9f45c4c16347ad662bd83519032687d Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Thu, 28 Apr 2016 12:11:08 +0200 Subject: [PATCH] Use 'exec' in Unicorn and Sidekiq launch scripts When running Unicorn or Sidekiq in the foreground this change removes an intermediate /bin/sh process. This makes process supervision in the GitLab Development Kit more reliable. This change does not affect Omnibus-GitLab (because there we do not use these launch scripts). Installations from source do use the launch scripts but for the standard GitLab init script this change will not make a difference. Custom installations using Upstart or Systemd may be affected however, because under certain configurations these systems count exactly how many forks happen during process startup, and we are reducing that number by one here. --- bin/background_jobs | 2 +- bin/web | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/background_jobs b/bin/background_jobs index 1f67d732949..25a578a1c49 100755 --- a/bin/background_jobs +++ b/bin/background_jobs @@ -37,7 +37,7 @@ start_no_deamonize() start_sidekiq() { - bundle exec sidekiq -q post_receive -q mailers -q archive_repo -q system_hook -q project_web_hook -q gitlab_shell -q incoming_email -q runner -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile "$@" + exec bundle exec sidekiq -q post_receive -q mailers -q archive_repo -q system_hook -q project_web_hook -q gitlab_shell -q incoming_email -q runner -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile "$@" } load_ok() diff --git a/bin/web b/bin/web index 03fe7a6354b..ecd0bbd10b0 100755 --- a/bin/web +++ b/bin/web @@ -19,12 +19,12 @@ get_unicorn_pid() start() { - $unicorn_cmd -D + exec $unicorn_cmd -D } start_foreground() { - $unicorn_cmd + exec $unicorn_cmd } stop()