linux 下进程状态及进程控制】的更多相关文章

系统状态检测及进程控制1,/proc 是系统的一个窗户,可以透视内核2,建议将hosts里localhost,locahost.locadomain 解析为127.0.0.1 把系统域名解决为局域网的ip3,df 看硬盘容易,du 可以看文件大小 dum -sh /可以看目录大小,free可以查看内存使用量4,/proc/sys/是系统的内核参数,可以设置,调整优化5 echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all 可以禁止ping本机,不回应icm…
windows和linux下解决Tomcat进程 windows下启动Tomcat报错,8080端口号被占用,报错信息如下 两种解决方法,一种是关闭了这个端口号,另外一种是修改Tomcat下的server.xml中的port为其他的,让端口号不再冲突 首先来看windows下如何关闭Tomcat进程 打开cmd执行这个命令 netstat -ano | findstr 8080 此时会出现8080端口的进程号,如图: 上图中的2704就是8080的进程号(进程号不一定相同),我们关闭了就行了,命…
Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.比如说传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等.有时候我们可能需要统计一下那个进程占用了那类文件,或者该进程总共打开的文件数等等,此时我们就需要一个工具帮我们查看相应的信息啦,它就是本片博客的主人公-lsof. 一.losf是个什么玩意? 1>.los…
  Linux下分析某个进程CPU占用率高的原因 通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用  1.top 查到占用cpu高的进程pid 2.查看该pid的线程:top -H -p 9532 3.查看这个线程所有系统调用:strace -p 10017 不停循环输出Connection timed out,让开发查看问题…
解决linux下tomcat停止进程任存在问题 在Linux下(之所以强调linux下,是因为在windows下正常),执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问,但是ps -ef |grep tomcat 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程.多次shutdown以后会发现系统内存溢出,然后需要一个一个把tomcat的进程杀掉 问题原因 在Linux系统中当有非守护线程(即User Thread)存在,…
windows和linux下解决Tomcat进程 windows下启动Tomcat报错,8080端口号被占用,报错信息如下 两种解决方法,一种是关闭了这个端口号,另外一种是修改Tomcat下的server.xml中的port为其他的,让端口号不再冲突 首先来看windows下如何关闭Tomcat进程 打开cmd执行这个命令 netstat -ano | findstr 8080 此时会出现8080端口的进程号,如图: 上图中的2704就是8080的进程号(进程号不一定相同),我们关闭了就行了,命…
参考: 1.  Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度(六) 2. linux挂载根文件系统过程 3. BusyBox init工作流程 4. kthreadd-linux下2号进程 linux内核在启动的最后用kernel_thread生成两个内核线程:rest_init()会开启两个进程:kernel_init,kthreadd,之后主线程变成idle线程,init/main.c. 其中kernel_init内核线程转换为用…
嗯,近期都在网易游戏实习,所以貌似有段时间没有上来写点东西了... 来网易游戏实习最基本的目的事实上就是想知道在游戏公司里面工作都是些什么内容,毕竟自己曾经也没有接触过游戏公司.. 还比較的好奇.. . 曾经可能认为游戏公司各种高大上吧.做的工作各种有意思. .如今看来应该也不是这样子的,毕竟大多数时间应该还是在写游戏的逻辑代码了.. . 挺奇怪的. . .感觉尽管在游戏公司实习.可是做的事情还是自己的老本行. ..由于要用python开发一个server的监控系统.并且有提出要监控某个指定进程…
###linux下查看当前进程以及杀死进程 查看进程 ps命令查找与进程相关的PID号: ps a :显示现行终端机下的所有程序,包括其他用户的程序. ps -A :显示所有程序. ps c :列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示. ps -e :此参数的效果和指定"A"参数相同. ps e :列出程序时,显示每个程序所使用的环境变量. ps f :用ASCII字符显示树状结构,表达程序间的相互关系. ps -H :显示树状结构,表示程序间的相互关…
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k4|head -10 3.虚拟内存使用最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k5|head -10 4.也可以试试 ps auxw --sort=rssps auxw --sort=%cpu 5.看看几个参数含义 %ME…
这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的. 实验题目:Linux环境下的进程控制 实验目的:熟悉并掌握Linux环境下进程的相关函数的应用:守护进程的概念.启动和操作:进程操作程序的编写. 一.Linux进程控制 设计程序,满足如下要求: 1.设计一个程序,要求显示Linux系统分配给此程序的进程号(PID)和它的父进程号(PPID). 在Linux环境下进程创建时,系统会分配一个唯一的数值给每个进程,这个数值就称为进程标示符(pid),他的父进程…
fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间.堆.栈等资源的副本.注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程不共享这些存储空间.linux将复制父进程的地址空间内容给子进程,因此,子进程由了独立的地址空间.),也就是这两个进程做完全相同的事. 在fork后的子进程中使用exec函数族,可以装入和运行其它程序(子进程替换原有进程,和父进程做不同的事 exec函数族可以根据指定的文件名或目录名找到可执行文件…
http://blog.csdn.net/brioxu/article/details/5104736 在linux下查看进程大家都会想到用 ps -ef|grep XXX ps -aux | head -1 打印title aux打出cpu和内存占有情况 可是看到的不是全路径,怎么看全路径呢? 每个进程启动之后在 /proc下面有一个于pid对应的路径 例如:ps -ef|grep python 显示:oracle    4431  4366  0 18:56 pts/2    00:00:0…
1) 检查当前僵尸进程信息 # ps -ef | grep defunct | grep -v grep | wc -l 175 # top | head -2 top - 15:05:54 up 97 days, 23:49, 4 users, load average: 0.66, 0.45, 0.39 Tasks: 829 total, 1 running, 479 sleeping, 174 stopped, 175 zombie # ps -ef | grep defunct | gr…
linux下查看出问题的java进程,便于发现程序问题.命令如下: 找到存在问题的java进程号,ps -ef|grep java ,如进程30021 卡住,需要查看该进程信息,那么敲入命令: jstack 30021 > /root/dump30021  ,即可在root下生成dump30021的进程信息文件…
前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程.完成加载系统后,演变为进程调度.交换 init进程由idle通过kernel_thread创建,在内核空间完成初始化后, 加载init程序, 并最终用户空间 由0进程创建,完成系统的初始化.…
ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -15 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入.下面说说用管道符联接起来的 几个命令: “ps aux”是linux 里查看所有进程的命令.这时检索出的进程将作为下一条命令“grep python”的输入. “grep python”的输出结果是,所有含有关键字“python”的进程,这是python程序 “grep -v grep”是在列出的进程中…
通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看. ll /proc/PID 如下图,在proc目录下的进程文件夹 找到并进入需要查看的进程文件夹: cwd符号链接的是进程运行目录: exe符号连接就是执行程序的绝…
每一个进程除了有一个进程ID外,还属于一个进程组.  进程组是一个或多个进程的集合,通常情况下,他们是在同一作业中结合起来的,同一进程组的个进程接受来自同一终端的各种信号. 每一个进程组有一个唯一的进程ID. 组长进程 每个进程组都有一个组长进程,组长进程的进程组ID等于其进程ID. 进程组组长可以创建一个进程组,创建进程组中的进程然后种植.只要进程组中还有任意一个进程存在,那么这个进程组就存在. 从进程组的创建到最后一个进程离开的时间去成为进程组的生命周期 函数getpgrp返回调用进程的进程…
linux下我们可以调用fork函数创建子进程,创建的子进程将会得到父进程的数据空间.堆.栈......副本(采用写时复制机制),子进程将会继承父进程的信号掩码.信号处理方式.当前工作目录.会话id.组id.......当子进程退出时父进程应当及时获取子进程退出状态,否则,如果父进程是一直在运行,那么子进程的退出状态将一直保存在内存中,直到父进程退出才释放. 我们可以使用如下几种方法避免僵尸进程的产生: 1.在fork后调用wait/waitpid函数取得子进程退出状态. 2.调用fork两次(…
1.用top命令 1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: $ top -u oracle 内容解释: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存…
在linux下查看进程大家都会想到用 ps -ef|grep XXX 但是看到的不是全路径.怎么看全路径呢? 每一个进程启动之后在 /proc以下有一个于pid相应的路径 比如:ps -ef|grep python 显示:oracle    4431  4366  0 18:56 pts/2    00:00:00 python Server.py 4431就是进程号 到/proc/4431下.ls -l 会看到(须要root权限): 总用量 0 -r--r--r--    1 oracle  …
ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -15 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入.下面说说用管道符联接起来的 几个命令: “ps aux”是linux 里查看所有进程的命令.这时检索出的进程将作为下一条命令“grep python”的输入. “grep python”的输出结果是,所有含有关键字“python”的进程,这是python程序 “grep -v grep”是在列出的进程中…
进程创建 在上一节讲解进程概念时,我们提到fork函数是从已经存在的进程中创建一个新进程.那么,系统是如何创建一个新进程的呢?这就需要我们更深入的剖析fork函数. 1.1 fork函数的返回值 调用fork创建进程时,原进程为父进程,新进程为子进程.运行man fork后,我们可以看到如下信息: #include <unistd.h> pid_t fork(void); fork函数有两个返回值,子进程中返回0,父进程返回子进程pid,如果创建失败则返回-1. 实际上,当我们调用fork后,…
--kill某个用户下的所有进程(用户为test)--pkill  # pkill -u test--killall  # killall -u test--ps  # ps -ef | grep test | awk '{ print $2 }' | xargs kill -9--pgrep # pgrep -u test | xargs kill -9 --kill某个程序的所有进程(程序为postgresql) --ps # ps -ef|grep postgres|grep -v gre…
一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程, 也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:    1)在父进程中,fork返回新创建子进程的进程ID:    2)在子进程中,fork返回0:    3)如果出现错误,fork返回一个负值: 在fork函数执行完毕后,如果创建新进程成功,则出现…
转自:http://www.cnblogs.com/xuxm2007/archive/2011/07/29/2121280.html   #include <unistd.h> int daemon(int nochdir,int noclose) 在创建精灵进程的时候,往往需要将精灵进程的工作目录修改为"/"根目录 并且将标准输入,输出和错误输出重定向到/dev/null daemon的作用就是当参数nochdir为0时,将根目录修改为工作目录 noclose为0时,做输…
什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息.这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息. 而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或waitpid来获得它的结束状态)的进程. 任何一个子进程(init除外)在exit后并非马上就消失,而是留…
ngx_int_t ngx_daemon(ngx_log_t *log) { int fd; // 让init进程成为新产生进程的父进程: // 调用fork函数创建子进程后,使父进程立即退出.这样,产生的子进程将变成孤儿进程,并被init进程接管, // 同时,所产生的新进程将变为在后台运行. switch (fork()) { : ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "fork() failed"); return NGX_ER…
什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息.这些 信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息. 而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wait或waitpid来获得它的结束状态)的进程. 任何一个子进程(init除外)在exit后并非马上就消失,而是…