美文网首页
sudo启动程序引发的进程个数不对

sudo启动程序引发的进程个数不对

作者: icewaver | 来源:发表于2015-10-09 10:30 被阅读0次

这几天把自己负责的服务改成了多进程模型,然后使用sudo来启动进程,示例程序如下:


int main(void)

{

fork();

while(1);

}

编译:

`gcc test.c

`

使用sudo执行a.out sudo ./a.out

接下来用ps -aux | grep a.out 查找进程得出如下结果:


root    18001  0.3  0.1 179860  3356 pts/23  S+  15:33  0:00 sudo ./a.out

root    18003 93.0  0.0  3920  368 pts/23  R+  15:34  0:11 ./a.out

root    18004 93.0  0.0  3920    92 pts/23  R+  15:34  0:11 ./a.out

很明显,我们的程序应该只fork了一个进程,加上自己本身,共两个进程,本来一直以为是自己那个小伙伴的代码中fork了一个进程。直到今天总觉得不对劲,平白无故多了一个进程,这是哪里来的,当我写了上面这个简单模型后,再使劲想了想,用sudo cat再试验了一下,终于回过味来了。原来上面的sudo ./a.out只是一个shell,这和sudo程序的实现有关。

当使用sudo ./a.out 执行代码时,会首先启动一个root用户的shell,但是这个shell的名字就叫做"sudo ./a.out",直接引起歧义。

相关文章

  • sudo启动程序引发的进程个数不对

    这几天把自己负责的服务改成了多进程模型,然后使用sudo来启动进程,示例程序如下: 编译: `gcc test.c...

  • APP进程启动过程

    应用程序进程启动过程,Android7.0为例。 应用程序进程,启动应用程序从启动应用程序进程开始。点击应用程序启...

  • docker

    docker程序启动 sudo service docker start

  • 后端操作汇总

    一、管理Java程序 启动java进程(关闭terminal程序会退出): 启动后台java进程(关闭termin...

  • 应用程序进程启动过程

    应用程序进程简介 要想启动一个应用程序,首先要保证这个应用程序所需要的应用程序进程已经启动。AMS 在启动应用程序...

  • supervisor配置

    supervisor配置 sudo apt-get install supervisor 配置: 启动所有进程 重...

  • Android性能优化

    启动优化 冷启动 冷启动指的是应用程序从头开始:系统的进程没有,直到此开始,创建了应用程序的进程。 在应用程序自设...

  • Android应用程序进程启动过程

    1. 应用程序进程简介: 要想启动一个应用程序,首先要保证这个应用程序所需要的应用程序进程已经启动。AMS在启动应...

  • (三)应用程序进程启动过程

    1、应用程序进程简介 要想启动一个应用程序,首先要确保这个应用程序所需要的应用程序进程已经启动。AMS在启动应用程...

  • 启动app黑白屏问题修复

    冷启动和热启动介绍: 冷启动:之前没有启动过,系统中没有该程序的进程,点击app后会创建一个该程序的进程,这种方式...

网友评论

      本文标题:sudo启动程序引发的进程个数不对

      本文链接:https://www.haomeiwen.com/subject/oyuncttx.html