linux linux查看守护进程程启动脚本为什么不能启动进程

Hadoop启动,停止,与其中的守护进程的启动停止_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Hadoop启动,停止,与其中的守护进程的启动停止
来源:Linux社区&
作者:杨鑫
版本-1.2.1
启动脚本 脚本说明
start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack
stop-all.sh 停止所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack
start-dfs.sh 启动Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode
stop-dfs.sh 停止Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNodehadoop-daemons.sh start namenode 单独启动NameNode守护进程hadoop-daemons.sh stop namenode 单独停止NameNode守护进程hadoop-daemons.sh start datanode 单独启动DataNode守护进程hadoop-daemons.sh stop datanode 单独停止DataNode守护进程hadoop-daemons.sh start secondarynamenode 单独启动SecondaryNameNode守护进程hadoop-daemons.sh stop secondarynamenode 单独停止SecondaryNameNode守护进程start-mapred.sh 启动Hadoop MapReduce守护进程JobTracker和TaskTrackerstop-mapred.sh 停止Hadoop MapReduce守护进程JobTracker和TaskTrackerhadoop-daemons.sh start jobtracker 单独启动JobTracker守护进程hadoop-daemons.sh stop jobtracker 单独停止JobTracker守护进程hadoop-daemons.sh start tasktracker 单独启动TaskTracker守护进程hadoop-daemons.sh stop tasktracker 单独启动TaskTracker守护进程
如果Hadoop集群是第一次启动,可以用start-all.sh。比较常用的启动方式是一个一个守护进程来启动,启动的步骤如下。
1.启动Hadoop的HDFS模块里的守护进程
HDFS里面的守护进程启动也有顺序,即:
1)启动NameNode守护进程;
2)启动DataNode守护进程;
3)启动SecondaryNameNode守护进程。
2.启动MapReduce模块里面的守护进程
MapReduce的守护进程启动也是有顺序的,即:
1)启动 JobTracker守护进程;
2)启动TaskTracker守护进程。
安装和配置Hadoop2.2.0&
13.04上搭建Hadoop环境
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
Ubuntu下Hadoop环境的配置
单机版搭建Hadoop环境图文教程详解
搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)
更多Hadoop相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
& (06/18/:54)
& (05/05/:42)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款小弟求解!linux 脚本中,无法后台运行程序.
[问题点数:40分]
小弟求解!linux 脚本中,无法后台运行程序.
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2013年7月 Linux/Unix社区大版内专家分月排行榜第二2012年6月 Linux/Unix社区大版内专家分月排行榜第二2011年5月 Linux/Unix社区大版内专家分月排行榜第二2011年4月 Linux/Unix社区大版内专家分月排行榜第二2011年3月 Linux/Unix社区大版内专家分月排行榜第二2010年10月 Linux/Unix社区大版内专家分月排行榜第二2010年9月 Linux/Unix社区大版内专家分月排行榜第二
2011年9月 Linux/Unix社区大版内专家分月排行榜第三2010年12月 Linux/Unix社区大版内专家分月排行榜第三2010年11月 Linux/Unix社区大版内专家分月排行榜第三2010年9月 C/C++大版内专家分月排行榜第三
2013年7月 Linux/Unix社区大版内专家分月排行榜第二2012年6月 Linux/Unix社区大版内专家分月排行榜第二2011年5月 Linux/Unix社区大版内专家分月排行榜第二2011年4月 Linux/Unix社区大版内专家分月排行榜第二2011年3月 Linux/Unix社区大版内专家分月排行榜第二2010年10月 Linux/Unix社区大版内专家分月排行榜第二2010年9月 Linux/Unix社区大版内专家分月排行榜第二
2011年9月 Linux/Unix社区大版内专家分月排行榜第三2010年12月 Linux/Unix社区大版内专家分月排行榜第三2010年11月 Linux/Unix社区大版内专家分月排行榜第三2010年9月 C/C++大版内专家分月排行榜第三
2013年7月 Linux/Unix社区大版内专家分月排行榜第二2012年6月 Linux/Unix社区大版内专家分月排行榜第二2011年5月 Linux/Unix社区大版内专家分月排行榜第二2011年4月 Linux/Unix社区大版内专家分月排行榜第二2011年3月 Linux/Unix社区大版内专家分月排行榜第二2010年10月 Linux/Unix社区大版内专家分月排行榜第二2010年9月 Linux/Unix社区大版内专家分月排行榜第二
2011年9月 Linux/Unix社区大版内专家分月排行榜第三2010年12月 Linux/Unix社区大版内专家分月排行榜第三2010年11月 Linux/Unix社区大版内专家分月排行榜第三2010年9月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。赶快加入吧
收藏,2.4k 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
要求记录的信息包括:进程pid,可执行程序名称,用户名,创建时间,撤销时间。老师布置的一道作业题。自己google过了,也上数据库搜了别人的论文看,但是他们都只讲了怎么创建守护进程。
给点提示就好,我再自行解决。谢谢!
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
方法1. 使用inotify实时监控/proc下面的文件变动即可(有可能进程启动、结束太快来不及读取文件内容从而没捕捉到必要信息)
方法2. 使用ptrace监控所有进程的fork/clone/vfork/execve/exit/exit_group等系统调用(对系统性能影响太大)
方法3. 写内核模块,hook一些关键的地方。想简单一些的话可以定时过task_struct的链表(从init_task开始)。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
/proc里面提供有关系统中进程的详细信息....
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
systemtap 可以很容易的做到,不过它要用到内核调试信息以及内核的调试支持。
同步到新浪微博
不要错过该问题的后续解决方案
如果你没找到答案,记得登录关注哦,大家会尽全力帮你解决的 ^___^
最专业的开发者社区
最前沿的技术问答,最纯粹的技术切磋。让你不知不觉中开拓眼界,提高技能,认识更多朋友。
分享到微博?
关闭理由:
删除理由:
忽略理由:
与已有问题重复
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
内容质量差,或不适合在本网站出现
无意义讨论型问题
其他原因(请补充说明)
举报理由:
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复
内容质量差,或不适合在本网站出现
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:kill掉父进程,子进程不同的运行方式-linux-电脑编程网kill掉父进程,子进程不同的运行方式作者: qingheliu  和相关&&
第一种情况:
[root@qht2 ~]# ps -ef | grep httpdroot
10:41 pts/0 00:00:00 /usr/sbin/nss_pcache off /etc/httpd/aliasroot
10:41 ? 00:00:00 /usr/sbin/httpd
10:41 ? 00:00:00 /usr/sbin/httpd
10:41 ? 00:00:00 /usr/sbin/httpdapache
10:41 ? 00:00:00 /usr/sbin/httpdapache
10:41 ? 00:00:00 /usr/sbin/httpdapache
10:41 ? 00:00:00 /usr/sbin/httpdapache
10:41 ? 00:00:00 /usr/sbin/httpdapache
10:41 ? 00:00:00 /usr/sbin/httpdapache
10:41 ? 00:00:00 /usr/sbin/httpdroot
10:42 pts/0 00:00:00 grep httpd[root@qht2 ~]# kill 3803[root@qht2 ~]# ps -ef | grep httpdroot
10:42 pts/0 00:00:00 grep httpd显然kill掉父进程,子进程也消亡了!
第二种情况:
我写了两个脚本a.sh 和b.sh, 在a.sh中调用b.sh,运行后显然有两个进程,而且a.sh为b.sh的父进程,然后我再另外一个terminal中kill 掉a.sh进程,但b.sh过寄给init进程,而不会终止!我的例子如下:[root@qht2 ~]# cat a.sh #!/bin/shecho "A Begin"./b.shecho "A End"[root@qht2 ~]# cat b.sh #!/bin/sh echo "B Begin"sleep 180mkdir abcdefecho "B End"[root@qht2 ~]# ./a.sh A BeginB Begin在这里等待(因为b.sh中有sleep 180)打开另一个terminal,查看进程[root@qht2 ~]# ps -ef | grep sh。。。。。。root
11:05 pts/0 00:00:00 /bin/sh ./a.shroot
11:05 pts/0 00:00:00 /bin/sh ./b.sh ##显然b.sh是a.sh的子进程root
11:05 pts/1 00:00:00 grep sh [root@qht2 ~]# kill 3984[root@qht2 ~]# ps -ef | grep sh。。。。。。root
11:05 pts/0 00:00:00 /bin/sh ./b.shroot
11:06 pts/1 00:00:00 grep sh第一ternimal中的显示如下:[root@qht2 ~]# ./a.sh A BeginB BeginTerminated但b.sh还是会运行(因为生成了abcdef目录)!
这两种情况的区别是:
父进程退出,子进程被init领养,继续运行,这才是正常的吧而前一个,从名字看明显是一个守护进程,id=3803的是会话首进程,也是进程组的组长,KILL掉它,会导致SIGHUP发送给该进程组的每一个进程(就是所有父进程为3803的那些),默认情况下,SIGHUP会终止进程,所以全没了.详细解释:
所有进程都是属于一个进程组的,而进程组又属于一个会话.普通的进程所属的会话有控制终端,守护进程所属会话没有控制终端.普通会话的首进程,同时也是建立与控制终端联系的进程,在它被KILL掉时,会向前台进程组就(a.sh)发送SIGHUP信号.默认情况下,接收到SIGHUP的进程会被终止.此时后台进程组(b.sh)不受影响.守护进程的会话,因为没有控制终端,所以就没有前后台进程组之分,会话首进程同时也是进程组组长.它被KILL掉会向该组每个进程发送SIGHUP,导致组中进程被中止.第二个试验,一个脚本调用另一个脚本的行为,创建了一个新的进程组,脚本a.sh是进程组组长,但却不是所在会话的首进程或控制进程,所以它被KILL掉,不影响同组的进程(b.sh),此时init进程会自动领养脚本B所在进程,并在它运行到结束时回收它所占用的资源.可以用ps -eo pid,ppid,pgrp,session,comm跑一下.对于第一种情况,就是守护进程,应该会发现那一堆进程的session(会话ID)和pgrp(组ID)都一样且是相同的,而且正好等于子进程的ppid,同时也是你KILL掉那个进程的pid.这样可以证实你KILL掉的是会话首进程.对于第二种情况,你会发现,进程A和B,session和pgrp是一样的,但两者却并不相同,session的值虽无法确定,但pgrp却应该正好是进程A的pid,这说明了进程A是组长但却不是会话首进程,所以KILL掉它不会导致子进程被结束.[root@qht2 ~]# ps -eo pid,ppid,pgrp,session,comm& PID& PPID& PGRP& SESS COMMAND&1&&&& 0&&&& 1&&&&& 1&&&init&&***
&3621&&&& 1&
ps[root@qht2 ~]#
留为笔记!!感谢sir.org的liwangli兄弟的解答!!
相关资料:|||||||kill掉父进程,子进程不同的运行方式来源网络,如有侵权请告知,即处理!编程Tags:                &                    

我要回帖

更多关于 linux自启动脚本 的文章

 

随机推荐