在Linux系统中,采用什么命令查看进程输出的信息

在Linux系统中,采用什么命令查看进程输出的信息,第1张

输入下面的ps命令,显示所有运行中的进程

# ps aux | less

其中,

-A:显示所有进程

a:显示终端中包括其它用户的所有进程

x:显示无控制终端的进程

你好,看了你的代码,我猜测你也做了不少努力,搜索了不少资料。

为了解决你的问题,我也这样做了。

我把我修改后的代码,和参考的文档放在附件里。

你代码有3个关键错误:

获取系统时间,应当放在while中,否则,你的闹钟“停摆”。

while这个大循环应该在daemon中,而不是主函数中。

因为init_daemon函数执行后,父进程会退出,主函数的部分代码就不会执行,而while在主函数中。

close(i)你调用循环把所有文件句柄都关闭了,导致不能写文件。

linux进程组会话控制终端一个进程可以通过fork()调用创建子进程,这些进程就可以构成一个进程组。 进程组--------------------------------------------- 进程组是一个或多个进程的集合。每个进程组有一个称为组长的进程,组长进程就是其进程号(pid)等于进程组号(gid)的进程(即进程组号等于组长的进程号)。进程组的概念有很多用途,最常见的是我们在终端上向前台执行程序发出终止信号(Ctrl-C),同时终止整个进程组的所有进程。 (1). Shell上的一条命令行形成一个进程组 (2). 每个进程属于一个进程组 (3). 每个进程组有一个领头进程(组长) (4). 进程组的生命周期到组中最后一个进程终止, 或加入其他进程组为止 (5). getpgrp: 获得进程组id, 即领头进程的pid (6). 前台进程组和后台进程组 (7). 进程A(假设该进程为组长)和其子进程B属于同一进程组,它们的进程组号(task_struct.gid)都为进程A的进程号(A.pid)会话 --------------------------------------------- 会话期(Session,或者称为会话)则是一个或多个进程组的集合。通常情况下,用户登录后所执行的所有程序都属于一个会话期,而其登录shell则是会话期首进程(Session leader),并且它所使用的中断就是会话期的控制终端(Controlling Terminal),因此会话期的首进程通常也被称为控制进程(Controlling process)。当我们退出登录(logout)时,所有属于这个会话期的进程都将被终止。 (1). 一次登录形成一个会话 (2). 一个会话可包含多个进程组, 但只能有一个前台进程组. (3). setsid()可建立一个新的会话;如果调用该函数的进程不是进程组的领头进程, 该函数才能建立新的会话.调用setsid()之后, 调用进程将成为新会话的领头进程.控制终端--------------------------------------------- (1) 会话的领头进程打开一个终端之后, 该终端就成为该会话的控制终端 (SVR4/linux) (2) 与控制终端建立连接的会话领头进程称为控制进程 (session leader) (3) 一个会话只能有一个控制终端 (4) 产生在控制终端上的输入和信号将发送给会话的前台进程组中的所有进程 (5) 终端上的连接断开时(比如网络断开或Modem断开), 挂起信号将发送到控制进程(session leader)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/6240828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存