Python 一次启动和停止多个进程(Ubuntu)

Python 一次启动和停止多个进程(Ubuntu),python,ruby,shell,ubuntu,scripting,Python,Ruby,Shell,Ubuntu,Scripting,所以我在我的Ubuntu服务器上有一堆混合脚本,我想一次运行所有这些脚本,保持PID,这样我就可以一次杀死它们。它们是ruby和python脚本的混合体,这不重要,因为它只是一个要运行和保存PID的命令列表,我只是不知道如何运行。是否可以将脚本设置为./script start | stop | restart 谢谢让所有脚本都从shell脚本运行 vi Main.sh #/bin/ksh MODE=$1 if [ $MODE = "start" ]; then #get PID of ma

所以我在我的Ubuntu服务器上有一堆混合脚本,我想一次运行所有这些脚本,保持PID,这样我就可以一次杀死它们。它们是ruby和python脚本的混合体,这不重要,因为它只是一个要运行和保存PID的命令列表,我只是不知道如何运行。是否可以将脚本设置为./script start | stop | restart


谢谢

让所有脚本都从shell脚本运行

vi Main.sh

#/bin/ksh

MODE=$1

if [ $MODE = "start" ]; then
#get PID of main sacript
echo " Main PID: $!" >> PID.txt

#Run first script
./script1.sh &
#save PID of script one
echo "script 1 PID: $!" >> PID.txt

#Run second script
./script2.sh &
#save PID of script one
echo "script 2 PID: $!" >> PID.txt

and so on...

fi

if [ $MODE = "stop" ]; then

Total_PID=`wc -l PID.txt|cut -d " " -f1`
x=1

while [ $x -le $Total_PID ]
do
PID=`sed -n ${x}p PID.txt|awk -F ":" '{print $2}'`
kill -9 $PID
let x=$x+1
done


fi
这只是一个想法…你可以根据你的要求修改它,这可能会有一些语法错误(因为这是没有测试和它的伪码)…请更正它。。。您将按以下方式运行此脚本:

./Main.sh start


为每个脚本编写一个init脚本,最好将它们放在
/etc/init.d/
中。请看一下
/etc/init.d/apache2
(或那里的任何其他脚本)以获得一个大致的想法。我不了解bash,更正它恐怕不是我真正能做的事情。如果您只是用运行脚本的命令替换/scriptN.sh&并将Main.sh文件的权限更改为chmod+x Main.sh随机的“fi”,这个脚本就可以工作了这很重要吗?是的,fi非常重要…它是闭合回路的指示器。。。换句话说,它是条件循环if的一部分。这会在nohup模式下运行ruby script.rb之类的东西吗?运行之后,我能使用控制台而不关闭它吗?
./Main.sh stop