Ps aux:多次显示相同的脚本



我有一个简单的脚本来检查要下载的文件。问题是一段时间后,我可以看到他多次跑步,在不同的时间开始,即使我只启动了他一次:

ps aux | grep _db
root      2804  0.0  0.0  11288  1756 ?        S    00:26   0:06 /bin/bash /script/downloader/downloader_db.sh
root      8606  0.0  0.0  11284   872 ?        S    12:18   0:00 /bin/bash /script/downloader/downloader_db.sh
root      8649  0.0  0.0  11168   680 pts/0    S    12:18   0:00 /bin/bash /script/downloader/downloader_db.sh
root     11552  0.0  0.0  11272   860 ?        S    11:25   0:00 /bin/bash /script/downloader/downloader_db.sh
root     11562  0.0  0.0  11152   672 pts/0    S    11:25   0:00 /bin/bash /script/downloader/downloader_db.sh
root     39150  0.0  0.0  11172  1644 pts/0    S    10:51   0:01 /bin/bash /script/downloader/downloader_db.sh

我从rc.local用nohup开始了脚本:

nohup /script/downloader/downloader_db.sh &> /dev/null &

脚本:

#!/bin/bash
while true; do
    while IFS=$'t' read -a line; do 
       ...
    sleep 2
    done < <(mysql --batch -u${user} -p${password} ${database} -e "${query}" -h ${host})
    sleep 10
done

while循环中的任何内容都在后台运行吗?可以想象,它与父进程具有相同的名称。

您可以通过运行ps wafux并查看进程树来检查某些进程是否为子进程。

如果它们彼此之间没有"关联",则很可能只是多次运行脚本,而其他进程尚未完成。

相关内容

  • 没有找到相关文章

最新更新