C++ C++;程序在脚本文件(Linux shell脚本)中启动时消耗CPU
我有三个程序(dmon、dlog、emon)。如果我在终端中以后台进程(./dmon&./dlog&./emon&)的形式逐个运行它们,这些程序就会正常工作 但是,当我将这些程序放入脚本文件(runapps.sh)时,它们会消耗大量CPU(请参见此处的图片) 我需要在启动时自动启动这些程序(在嵌入式板中)。目前,我把它们放在rc.local文件中,它消耗的CPU如上所述。如何以更少的CPU消耗运行这些程序 [更新问题] 有关这些过程的更多详细信息: 每个进程都有几个线程(pthread)。这些线程通常在Unix套接字上休眠或等待:C++ C++;程序在脚本文件(Linux shell脚本)中启动时消耗CPU,c++,linux,shell,C++,Linux,Shell,我有三个程序(dmon、dlog、emon)。如果我在终端中以后台进程(./dmon&./dlog&./emon&)的形式逐个运行它们,这些程序就会正常工作 但是,当我将这些程序放入脚本文件(runapps.sh)时,它们会消耗大量CPU(请参见此处的图片) 我需要在启动时自动启动这些程序(在嵌入式板中)。目前,我把它们放在rc.local文件中,它消耗的CPU如上所述。如何以更少的CPU消耗运行这些程序 [更新问题] 有关这些过程的更多详细信息: 每个进程都有几个线程(pthread)。这些
static void sample_thread_func_0() {
do_something();
sleep(1);
}
static void sample_thread_func_1(){
if (accept_unix_socket()) do_something();
}
do_something函数只执行一些常规任务,如检查存储设备(ioctl到eMMC设备)或轮询输入mqtt消息。我确信dou_something函数不会像top命令所显示的那样消耗太多CPU
我想知道将命令放入shell脚本文件会有什么影响。如果在终端中逐个启动这些程序,为什么CPU消耗较低?附加调试器或探查器,或运行
perf top
,查看这些程序在所有CPU时间内都在做什么。根据您在程序中的具体操作,请使用调试器