linux - 重新激活 python 脚本 - Linux bash 脚本

标签 linux bash shell

<分区>

我不明白为什么我的“for 循环”不能正常工作。第一个参数工作正常。如果我手动停用第二个 python 脚本,它不会再次启动脚本。你能帮我一下吗?

#!/bin/bash
cd /home/admin/instaTweet

bots=( one.py two.py three.py )
botSize=${#bots[*]}
checkProcessSize=$(ps -e -o comm= | grep screen | wc -l)


echo $(date) >> checkBotsLog.txt
echo "$botSize Bots available" >> checkBotsLog.txt

if [ $botSize -gt $checkProcessSize ]
then
        time=$(date)
        tweet_string="###ALERT### At least one bot is inactive! "$(echo $time)
        python3 tweet.py "$(echo $tweet_string)"
        echo "At least one Bot is inactive" >> checkBotsLog.txt

        for i in $bots; do
                process=$(ps -aux | grep "python $i" | wc -l)

                if [ $process -lt 2 ]
                then
                        screen -d -m python $i
                        echo $i started >>checkBotsLog.txt
                fi
        done
else
        time=$(date)
        tweet_string="All bots are active! "$(echo $time)
        python3 tweet.py "$(echo $tweet_string)"
        echo "Everything fine" >> checkBotsLog.txt
fi

最佳答案

好吧,我刚刚弄明白了。

我改变了:

for i in $bots; do...

到:

for i in ${bots[@]}: do..

关于linux - 重新激活 python 脚本 - Linux bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46621533/

相关文章:

c++ - 如何从外部分离 gdb session ?

regex - perl oneliner + 如何过滤文件

linux - 如何 grep 查找文件中的特定模式

linux - 收集并汇总 `strace` 命令的统计信息?

c - 将指针传递给函数中的已初始化结构

bash - 如何通过golang获取环境变量PS1?

linux - 我想通过 bash 文件发送 Enter 命令来运行 bin 文件

linux - 文件大于目录的平均大小?

linux - 无法执行二进制文件错误

c - 为什么同一程序的 INST_PTR(指令指针)值会因不同的运行而改变?