Server IP : 85.214.239.14 / Your IP : 3.129.73.6 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/root/usr/share/doc/uwsgi-core/ |
Upload File : |
#!/bin/sh ### BEGIN INIT INFO # Provides: uwsgi-core # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop custom uWSGI server instance ### END INIT INFO # Author: Leonid Borisenko <leo.borisenko@gmail.com> # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin NAME="custom_instance_name_here" # Introduce the short server's name here SCRIPTNAME=/etc/init.d/$NAME DESC="custom configured app server" # Introduce a short description here DAEMON=/usr/bin/uwsgi-core # Introduce the server's location here UWSGI_UID=www-data # Introduce uWSGI uid here UWSGI_GID=www-data # Introduve uWSGI gid here UWSGI_RUNDIR=/run/uwsgi-core UWSGI_SPECIFIC_RUNDIR="$UWSGI_RUNDIR/$NAME" PIDFILE=$UWSGI_SPECIFIC_RUNDIR/pid DAEMON_ARGS=" \ --daemonize /var/log/uwsgi-core/${NAME}.log \ --pidfile $PIDFILE \ --uid $UWSGI_UID \ --gid $UWSGI_GID \ --xmlconfig /etc/uwsgi-core/${NAME}.xml \ " # Exit if the package is not installed [ -x $DAEMON ] || exit 0 # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # Return: # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started do_start() { INTERVAL_START INTERVAL_END WAITING=2 # seconds install -d -o root -g root -m 755 $UWSGI_RUNDIR install -d -o $UWSGI_UID -g $UWSGI_GID -m 755 $UWSGI_SPECIFIC_RUNDIR start-stop-daemon --start --quiet \ --pidfile $PIDFILE \ --exec $DAEMON \ --test > /dev/null \ || return 1 # shellcheck disable=SC2086 start-stop-daemon --start --quiet \ --pidfile $PIDFILE \ --exec $DAEMON -- $DAEMON_ARGS \ || return 2 INTERVAL_START=$(date +%s) INTERVAL_END=$(date +%s) # Wait until daemon getting to create pidfile. while [ ! -e "$PIDFILE" ]; do INTERVAL_END=$(date +%s) if [ $((INTERVAL_END-INTERVAL_START)) -gt $WAITING ]; then return fi sleep 0.05 done chown root:root $PIDFILE chmod 644 $PIDFILE return 0 } # Return: # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred do_stop() { start-stop-daemon --stop --quiet \ --retry=QUIT/30/KILL/5 \ --pidfile $PIDFILE \ --exec $DAEMON RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 rm -rf "$RUNDIR" return "$RETVAL" } # Return: # 0 if daemon has been reloaded # 3 if daemon could not be reloaded do_reload() { start-stop-daemon --stop --quiet \ --signal=HUP \ --pidfile $PIDFILE \ --exec $DAEMON RETVAL="$?" # There is no such process, nothing to reload! [ "$RETVAL" = 1 ] && RETVAL=3 return "$RETVAL" } # Return: # 0 if daemon has been reloaded # 3 if daemon could not be reloaded do_force_reload() { start-stop-daemon --stop --quiet \ --signal=TERM \ --pidfile $PIDFILE \ --exec $DAEMON RETVAL="$?" # There is no such process, nothing to reload! [ "$RETVAL" = 1 ] && RETVAL=3 return "$RETVAL" } case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" do_start log_end_msg "$?" ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" do_stop log_end_msg "$?" ;; status) status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" \ && exit 0 \ || exit $? ;; reload) log_daemon_msg "Reloading $DESC" "$NAME" do_reload log_end_msg "$?" ;; force-reload) log_daemon_msg "Forced reloading $DESC" "$NAME" do_force_reload log_end_msg "$RETVAL" ;; restart) log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0) do_start log_end_msg "$?" ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2 exit 3 ;; esac :