Bash 脚本本身产生了许多新进程

Bash 脚本本身产生了许多新进程

我现在正在编写的脚本用于将 3 列的数据保存到三个不同的数组中,稍后将用于不同的部分。

现在脚本 callconv.sh 看起来像这样:

#! /bin/bash 
array=$(sqlite3 /home/pi/dir/rec_call/CallRecords.sqlitedb "SELECT address FROM calls")
array2=$(sqlite3 /home/pi/dir/rec_call/CallRecords.sqlitedb "SELECT timestamp FROM calls")
array3=$(sqlite3 /home/pi/dir/rec_call/CallRecords.sqlitedb "SELECT date FROM calls")

Rest of script...

问题是,一旦我运行 callconv.sh,仅包含这 3 行,大约创建了 30 或 40 个名为 callconv.sh 和 sqlite3 的新进程。具体来说,其中许多都带有已失效的标签。

我希望该脚本能够在带有 Raspbmc 的 Raspberry Pi 上运行,但这不起作用。然而,当我尝试在我的 CentOS vps 上运行它时,它运行没有任何问题。这个问题有可能与操作系统有关吗?或者你们能告诉我我是否在这里做了一些明显错误的事情吗?谢谢!

答案1

您如何列出流程来查找“30 或 40”个流程?你确定你没有在看线程而不是流程?高级程序(例如数据库)在启动时生成多个线程是很常见的。

旁注:该代码不会创建数组- 命令的标准输出sqlite3将保存为细绳变量。如果要将命令输出(以 分隔$IFS)保存为数组,则需要使用my_variable=($(my_command)).

相关内容