Giter Site home page Giter Site logo

bash-service-manager's People

Contributors

artemiuss avatar reduardo7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bash-service-manager's Issues

service-manager is started twice?

Hi,

I want to use bash-service-manager for controlling starting and stopping of a python script (logtooltje.py)
Starting the python script via service-manager goes fine. But it won't stop.
I noticed that for some reason the servicemanager (named logdaemon in my example) is is started twice. When I perform "logdaemon stop", the PID-file is removed and one logdaemon proces is killed. However there is still one logdaemon process running, including the python script.

Below the commands to visualize the issue.
Your help is much appreciated.

+++++++++++++++++
[goldeneye@server-x daemon]$ cat logdaemon
#!/usr/bin/bash

export PID_FILE_PATH="/tmp/my-service.pid"
export LOG_FILE_PATH="/tmp/my-service.log"
export LOG_ERROR_FILE_PATH="/tmp/my-service.error.log"

Import or paste "services.sh"

. services.sh

run-logtooltje() {
python logtooltje.py
}

action="$1"
serviceName="logtooltje"
workDir="/home/plas109/flowanalysis/daemon"
command="run-logtooltje"

serviceMenu "$action" "$serviceName" "$command" "$workdir"
++++++++++++++++++++++++++++++++++++++++++++

[goldeneye@server-x daemon]$ ./logdaemon start

Starting logtooltje service...

[goldeneye@server-x daemon]$ ps -ef | grep logda
goldeneye 6251 1 0 23:19 pts/4 00:00:00 /usr/bin/bash ./logdaemon start
goldeneye 6252 6251 0 23:19 pts/4 00:00:00 /usr/bin/bash ./logdaemon start
goldeneye 6257 22139 0 23:19 pts/4 00:00:00 grep --color=auto logda
[goldeneye@server-x daemon]$ ps -ef | grep logto
goldeneye 6253 6252 0 23:19 pts/4 00:00:00 python logtooltje.py
goldeneye 6259 22139 0 23:19 pts/4 00:00:00 grep --color=auto logto
[goldeneye@server-x daemon]$ cat /tmp/my-service.pid
6251

Now stopping the servicemanager:

[goldeneye@server-x daemon]$ ./logdaemon stop

Stopping logtooltje...

[goldeneye@server-x daemon]$ cat /tmp/my-service.pid
cat: /tmp/my-service.pid: No such file or directory
[goldeneye@server-x daemon]$ ps -ef | grep logdaemon
goldeneye 6252 1 0 23:19 pts/4 00:00:00 /usr/bin/bash ./logdaemon start
goldeneye 6286 22139 0 23:20 pts/4 00:00:00 grep --color=auto logdaemon
[goldeneye@server-x daemon]$ ps -ef | grep logtooltje.py
goldeneye 6253 6252 0 23:19 pts/4 00:00:00 python logtooltje.py
goldeneye 6290 22139 0 23:20 pts/4 00:00:00 grep --color=auto logtooltje.py

Python script is still running

Run 3 processes with full path

A simple bash

export PID_FILE_PATH="/tmp/app.pid"
export LOG_FILE_PATH="/var/log/app/app.log"
export LOG_ERROR_FILE_PATH="/var/log/app/error.log"

DIR=$(dirname $(readlink -f $0))

# Import or paste "services.sh"
. $DIR/services.sh

run-app() {
  $DIR/app $DIR/predixy.conf
}

action="$1"
serviceName="app"
command="run-app"

serviceMenu "$action" "$serviceName" "$command"

Run it in a relative path

cd /folder/to/
./this.sh start

ps aux | grep app

1 process like this:

/folder/to/app /folder/to/app.conf

Run in a full path

/folder/to/this.sh start

3 processes

bash /folder/to/this.sh start    <--- PID  is this process
bash /folder/to/this.sh start
/folder/to/app /folder/to/app.conf

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.