linux kill进程和子进程小trick】的更多相关文章

       我们的hive web是调用polestar restful service(https://github.com/lalaguozhe/polestar-1)来执行具体的hive或者shark语句的,这几天有用户说hive web上的kill按钮失效了,虽然已经显示停止了查询,但是其实提交到jobtracker的mapred job或者spark worker节点上作业还在running.我看了下,确实有这个问题. polestar对于每一条query执行的命令如下 sudo -…
终止前台进程,可以用Ctrl+C组合键.但对于后台进程需要用kill命令. kill PID 还可以加信号(参数),默认情况下是编号为15的信号.term信号将终止所有不能捕捉该信号的进程. -s 可以加信号名也可以加信号码 -p pid,并不真正发出结束信号 -l 显示信号名称列表 信号                  数值                   用途 sighup                1                从终端发出的结束信号 sigint       …
前些天在执行restart脚本的时候遇到了一个奇怪的问题:1.第一次执行进程不见了,启动失败2.第二次重启进程成功,但是在kill的时候提示进程不存在需要重启两次进程才能成功 查看日志文件:第一次重启失败是因为端口被占用,那么意味着进程没有被kill掉.第二次kill提示进程不存在则是因为在第一次重启进程的时候写入了新的进程号(然后在绑定端口监听的时候发现端口被占用,进程启动失败) 接下来需要研究的是,在执行了kill之后进程为什么没有立刻被kill掉,查资料发现: 也就是说执行kill以后,信…
在进行这次作业之前,我们先来看看什么是管道吧! 管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别. 有名管道叫named pipe或者FIFO(先进先出),可以用函数mkfifo()创建. Linux管道的实现机制 在Linux中,管道是一种使用非常频繁的通信机制.从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表…
杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志. 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标准的kill命令通常都能达到目的.终止有问题的进程,并把进程的资源释放给linux操作系统. 然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源. 为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程. 确定要杀死进程的PID或PPID # ps -ef | grep httpd 以优…
杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志.   首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:   # kill -pid   注释:标准的kill命令通常都能达到目的.终止有问题的进程,并把进程的资源释放给系统.然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源.为了防止这些所谓的"僵尸进程",应确保在杀死父进程之前,先杀死其所有的子进程.   *确定要杀死进程的PID或PPID   # ps -ef | grep h…
ps: ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等. 注意:ps是显示瞬间进程的状态,并不动态连续:如果想对进程进行实时监控应该用top命令. 参数: -A :所有的进程均显示出来,与 -e 具有同样的效用: -aux 显示所有包含其他使用者的进程 最常用的有ps -ef 和ps -aux,解释如下: ps -ef 是用标准的格式显示进程的.其格式如下 其中各列的内容意思如下UID …
在使用Linux时,出现端口占用.进程已启动(但处于不可控状态)情况时如何处理? 发现已知端口被占用时,可以使用netstat -apn | grep yourPort 来查看占用该端口的进程的pid然后使用kill命令kill进程:kill -s 9 pid 如果已知程序名称,或者程序路径上可能会占用一些端口时,可以使用:ps -aux | grep processName 可以查看相似的程序使用的pid然后可以使用kill -s 9 pid 杀死进程…
本节目标: 僵进程 SIGCHLD wait waitpid 一,僵尸进程 当一个子进程先于父进程结束运行时,它与其父进程之间的关联还会保持到父进程也正常地结束运行,或者父进程调用了wait才告终止. 子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它只保留最小的一些内核数据结构,以便父进程查询子进程的退出状态. 进程表中代表子进程的数据项是不会立刻释放的,虽然不再活跃了,可子进程还停留在系统里,因为它的退出码还需要保存起来以备父进程中后续的wait调用使用.它将称为一个"僵进程&…
1. ps命令用来查找linux运行的进程,常用命令: ps aux | grep 进程名:  eg:ps aux | grep admin 查找admin的进程 或者 ps -ef | grep java; 查找当前所有运行的Java进程 2. kill 进程 kill -9 进程号: eg: kill -9 admin的进程号…