ps aux:多次显示同一个脚本

Orl*_*rlo 3 bash ubuntu

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

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
Run Code Online (Sandbox Code Playgroud)

我从 rc.local 用 nohup 启动脚本:

nohup /script/downloader/downloader_db.sh &> /dev/null &
Run Code Online (Sandbox Code Playgroud)

剧本:

#!/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
Run Code Online (Sandbox Code Playgroud)

l0b*_*0b0 5

while循环中有什么东西在后台运行吗?可以想象,它与父进程同名。

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

如果它们彼此不“相关”,则您很可能只是多次运行脚本,而其他进程尚未完成。