孤儿进程如何解决拒绝gets输入的问题?

一个其父进程已终止的进程称为孤儿进程(orphan process),这种进程由 init 进程”收养“。
本文中,讨论的是孤儿进程组:
       对孤儿进程组的另一种描述:一个进程组不是孤儿进程组的条件是,该组中有一个进程,其父进程在属于同一个会话(session)的另一个组中。

   进程组成为孤儿进程组后,POSIX.1 要求内核向新的孤儿进程组中处于停止状态的每一个进程发送挂断信号(SIGHUP),接着又向其发送继续运行信号(SIGCONT)。
unix(linux) 对挂断信号(SIGHUP)的系统默认动作是终止该进程,为此,必须提供一个信号处理程序以捕捉该信号。

3. 下面以一个父进程 + 一个子进程 组成的进程组为例,理解进程组成为孤儿进程组(本例中:该孤儿进程组就这一个子进程)后的行为。 下图是本例中的进程关系。

在进程中调用 pr_ids后,程序试图读标准输入。一般情况下,当后台进程组试图读控制终端时,则对该后台进程组产生 SIGTTIN 信号,其默认动作是停止进程。但是在这里,这是一个孤儿进程组,如果内核用此信号停止它,则此进程组中的进程就再也不会继续。 POSIX.1 规定,在这种情况下, read 函数返回出错,并将其errno 设置为 EIO。

}
创建一个子进程后,父进程退出,那么那个子进程就变成孤儿进程了 。所以你可以使用 pstree命令 来看进程的父子关系 就能判断是不是孤儿进程了。
不懂编程的路过 应该可以获取到父进程的pid,然后做一个判断。
ps aux:列出当前所有进程。
grep -I ‘进程名’:忽略大小写匹配含有进程名的字段,即查找该进程。
grep -v grep:在使用grep查找的同时,创建了一个grep -I ‘进程名'的进程,该进程不是我们需要的,使用-v参数忽略grep进程。
这需要大量经验,尤其是中病毒和木马的经验啊!!
再有就是掌握一些常见的木马自我伪装的伎俩
总之不是一日之功啊。。。
可以用这个命令:ps -aux 就可以查看正在远行的进程了,有pid号等
$? 是指上一个命令的结果。如果上一个命令是rsync,就是该命令的结果。
如果rsync是用于一个directory, 如果成功当然是所有的文件都成功;似乎没有办法判断某一特定文件。除非rsync是仅用于该文件。
}

我要回帖

更多关于 缺少返回语句java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信