当前位置:首页 » 操作系统 » linux的进程

linux的进程

发布时间: 2022-04-25 00:00:37

linux进程内存如何管理

Linux系统提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。在Linux系统中,进程的4GB内存空间被分为两个部分——用户空间与内核空间。用户空间的地址一般分布为0~3GB(即PAGE_OFFSET,在Ox86中它等于OxC0000000),这样,剩下的3~4GB为内核空间,用户进程通常只能访问用户空间的虚拟地址,不能访问内核空间的虚拟地址。用户进程只有通过系统调用(代表用户进程在内核态执行)等方式才可以访问到内核空间。每个进程的用户空间都是完全独立、互不相干的,用户进程各自有不同的页表。而内核空间是由内核负责映射,它并不会跟着进程改变,是固定的。内核空间的虚拟地址到物理地址映射是被所有进程共享的,内核的虚拟空间独立于其他程序。Linux中1GB的内核地址空间又被划分为物理内存映射区、虚拟内存分配区、高端页面映射区、专用页面映射区和系统保留映射区这几个区域。对于x86系统而言,一般情况下,物理内存映射区最大长度为896MB,系统的物理内存被顺序映射在内核空间的这个区域中。当系统物理内存大于896MB时,超过物理内存映射区的那部分内存称为高端内存(而未超过物理内存映射区的内存通常被称为常规内存),内核在存取高端内存时必须将它们映射到高端页面映射区。Linux保留内核空间最顶部FIXADDR_TOP~4GB的区域作为保留区。当系统物理内存超过4GB时,必须使用CPU的扩展分页(PAE)模式所提供的64位页目录项才能存取到4GB以上的物理内存,这需要CPU的支持。加入了PAE功能的Intel Pentium Pro及以后的CPU允许内存最大可配置到64GB,它们具备36位物理地址空间寻址能力。由此可见,对于32位的x86而言,在3~4GB之间的内核空间中,从低地址到高地址依次为:物理内存映射区隔离带vmalloc虚拟内存分配器区隔离带高端内存映射区专用页面映射区保留区。

⑵ linux 进程的几种状态

Linux内核中定义了以下几种状态:
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_ZOMBIE 4
#define TASK_STOPPED 8

其中:
TASK_RUNNING是就绪态,进程当前只等待CPU资源。

TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE都是阻塞态,进程当前正在等待除CPU外的其他系统资源;前者可以被信号唤醒,后者不可以。

TASK_ZOMBIE是僵尸态,进程已经结束运行,但是进程控制块尚未注销。

TASK_STOPPED是挂起状态,主要用于调试目的。进程接收到SIGSTOP信号后会进入该状态,在接收到SIGCONT后又会恢复运行。

⑶ linux查看进程命令

1、首先打开xshell软件,连接上linux服务器,使用指令ps查看系统进程,参数a表示全部,u表示以用户格式显示,x表示进程参数。

⑷ linux进程的种类有哪些

Linux操作系统包括3种不同类型的进程,每种进程都有自己的特点和属性。
•交互进程:由一个Shell启动的进程,交互进程既可以在前台运行,也可以在后台运行。
•批处理进程:这种进程和终端没有联系,是一个进程序列。
•监控进程:也称守护进程,Linux系统启动是启动的进程,并在后台运行。

⑸ linux如何查看所有进程

1、程序保存在硬盘、光盘等介质中的可执行代码和数据
静态保存的代码
2、进程在 CPU 及内存中运行的程序代码
动态执行的代码
父、子进程
每个进程可以创建一个或多个进程
3、ps命令——查看静态的进程统计信息(Processes Statistic)
常见的选项:
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
-e:显示系统内的所有进程信息。
-l:使用长(long)格式显示进程信息。
-f:使用完整的(full)格式显示进程信息。
需要注意的是,有一部分选项是不带“-”前缀的(添加“-”前缀后含义可能会有出入)。习惯上将上述选项组合在一起使用,如,“ps aux”或“ps -elf”

⑹ 什么是linux的进程

fork()函数,Linux系统调用
头文件:
#include <unistd.h>
函数定义:
int fork( void );
返回值:
子进程中返回0,父进程中返回子进程ID,出错返回-1
函数说明:
一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。
子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间,它们之间共享的存储空间只有代码段。

‘fork()’函数用于从已存在进程中创建一个新进程。新进程称为子进程,而原进程称为父进程。你可以通过检查‘fork()’函数的返回值知道哪个是父进程,哪个是子进程。父进程得到的返回值是子进程的进程号,而子进程则返回0。以下这个范例程序说明它的基本功能: //------------------------------ example 1 pid_t pid;
switch (pid = fork())
{
case -1:
/* 这里pid为-1,fork函数失败 */
/* 一些可能的原因是 */
/* 进程数或虚拟内存用尽 */
perror("The fork failed!");
break;
case 0:
/* pid为0,子进程 */
/* 这里,我们是孩子,要做什么? */
/* ... */
/* 但是做完后, 我们需要做类似下面: */
_exit(0);
default:
/* pid大于0,为父进程得到的子进程号 */
printf("Child's pid is %d\n",pid);
}//------------------------------ example 2#define TRUE 1
while (TRUE){ /* repeat forever */
type_prompt(); /* display prompt on the screen */
read_command(command, parameters); /* read input from terminal */
if (fork() != 0){ /* fork off child process */
/* Parent code. */
waitpid(1, &status, 0); /* wait for child to exit */
} else {
/* Child code. */
execve(command, parameters, 0); /* execute command */
}
}

这些是我再网上帮你找到的资料,看完之后,自己也学到不少,呵呵 ^^
希望它对你有点帮助吧,好好体会

还有一点就是进程的定义:进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。说白了进程就是正在运行的程序,比如说有程序 p1 和 p2,当程序p1运行是就是进程p1 ,如果正在运行的是p2,那么就是进程p2

⑺ Linux里面杀掉进程命令是什么

方法一: Terminal终端输入: gnome-system-monitor,就可以打开system monitor

如图:

然后找到相应进程,右击选择kill process就可以了

方法二: 通过kill 进程id的方式可以实现,

首先需要知道进程id, 例如,想要杀死firefox的进程,通过 ps -ef|grep firefox,可以查到firefox的进程id:

然后通过 kill 3781 就可以关闭进程了.

补充: 1. kill -9 来强制终止退出, 例如: kill -9 3781

2.特殊用法:

kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1
终止你拥有的全部进程。

方法三: killall 通过程序的名字,来杀死进程

例如: killall firefox
注意: 该命令可以使用 -9 参数来强制杀死进程, killall -9 firefox

方法四: pkill 通过程序的名字, 直接杀死所有进程
例如: pkill firefox

方法五: 通过xkill 可以杀死图形程序应用, 例如firefox崩溃无响应,可以使用该命令.
例如: 用法xkill , 会出现一个白色的x, 然后用鼠标单击想要杀死的应用,如图

以下内容引用自: http://justcoding.iteye.com/blog/1931347

◆编者注:
KILLALL(Section: User (1)/Updated: 1999年9月7日)
———————————————–

NAME (名称)
killall – 以名字方式来杀死进程

SYNOPSIS (总览)
killall [-egiqvw] [-signal] name …
killall -l
killall -V

DESCRIPTION (描述)
killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM.。
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定。
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关。
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0。Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程)。

OPTIONS (选项)
-e
对 于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息。
-g
杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程。
-i
交互方式,在杀死进程之前征求确认信息。
-l
列出所有已知的信号名。
-q
如果没有进程杀死, 不会提出抱怨。
-v
报告信号是否成功发送。
-V
显示版本信息。
-w
等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待。
FILES(相关文件)
/proc proc文件系统的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死。
要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心。
在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到。

来源:http://www.ubuntuhome.com/ubuntu-kill-command.html

下面来了解相关命令:

一、查看进程的命令 有ps、pstree、pgrep等:

1、ps
显示进程信息,参数可省略
-aux 以BSD风格显示进程 常用
-efH 以System V风格显示进程
-e , -A 显示所有进程
a 显示终端上所有用户的进程
x 显示无终端进程
u 显示详细信息
f 树状显示
w 完整显示信息
l 显示长列表

在终端中执行ps aux,
各列输出字段的含义:

USER 进程所有者
PID 进程ID
PPID 父进程
%CPU CPU占用率
%MEM 内存占用率
NI 进程优先级。数值越大,占用CPU时间越少
VSZ 进程虚拟大小
RSS 页面文件占用
TTY 终端ID
STAT 进程状态
+---D 不可中断 Uninterruptible sleep (usually IO)
+---R 正在运行,或在队列中的进程
+---S 处于休眠状态
+---T 停止或被追踪
+---Z 僵尸进程
+---W 进入内存交换(从内核2.6开始无效)
+---X 死掉的进程

+---< 高优先级
+---N 低优先级
+---L 有些页被锁进内存
+---s 包含子进程
+---+ 位于后台的进程组;
+---l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

PID:进程标识符,系统为每一个进程分配一个识别码,称为PID。

ps命令极为常用,其他命令还有:

2.pstree
树状显示进程信息
-a 显示完整命令及参数
-c 重复进程分别显示
-c 显示进程ID PID
-n 按 PID 排列进程

3.pgrep <进程名>
显示进程的PID
-l 显示进程名和进程PID
-o 进程起始ID
-n 进程终止ID

二、结束进程的命令 有kill、pkill、killall、xkill等:

kill [信号代码] <进程PID>

根据PID向进程发送信号,常用来结束进程,默认信号为 -9
信号代码,可取值如下:
-l [信号数字] 显示、翻译信号代码
-9 , -KILL 发送 kill 信号退出
-6 , -ABRT 发送 abort 信号退出
-15 , -TERM 发送 Termination 信号
-1 , -HUP 挂起
-2 , -INT 从键盘中断,相当于 Ctrl+c
-3 , -QUIT 从键盘退出,相当于 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 内存错误
-13 , -PIPE 破坏管道
-14 , -ALRM
-STOP 停止进程,但不结束
-CONT 继续运行已停止的进程
-9 -1 结束当前用户的所有进程

pkill <进程名>
结束进程族。如果结束单个进程,请用 kill

killall <进程名>
killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

xkill
在图形界面中点杀进程。
当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消。
比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。
xkill 调用方法:
[root@localhost ~]# xkill

来源: http://www.cnblogs.com/1024-wusuopuBUPT/archive/2012/02/16/2354132.html

linux中pkill的简单用法

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

必要参数
-f 显示完整程序
-l 显示源代码
-n 显示新程序
-o 显示旧程序
-v 与条件不符合的程序
-x 与条件符合的程序

选择参数
-p<进程号> 列出父进程为用户指定进程的进程信息
-t<终端> 指定终端下的所有程序
-u<用户> 指定用户的程序

应用方法:

#pkill 正在运行的程序名

举例:

Java代码
[root@localhost beinan]# pgrep -l gaim
2979 gaim
[root@localhost beinan]# pkill gaim

也就是说:

kill 对应的是 PID

pkill 对应的是COMMAND

例如在Ubuntu中强制结束一个已成僵尸的名称为:firefox,PID为:1603的进程,可以如下操作:

方法一:

(1)ctrl+alt+t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的。

找到要关掉的进程,记下该进程第一列的数字编号(假设是xx),然后输入q,退回终端。

(2)输入:sudo kill xx(对应刚才的编号)。

方法二:

ctrl+alt+t,调出终端,输入:sudo pkill firefox

范例1: 杀死指定进程

Java代码
root@snail-hnlinux:~# ps -A //显示所有进程
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
……忽略部分
28382 ? 00:00:00 gvfsd-http
28391 ? 00:07:07 software-center
30467 ? 00:00:31 designer-qt4
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:17 gedit
31155 ? 00:00:00 dhclient
31325 ? 00:00:01 sshd
31327 ? 00:00:00 sshd
31400 pts/1 00:00:00 bash
31485 pts/2 00:00:00 bash
3 ? 00:00:00 aptd
31658 pts/1 00:00:00 ps
root@snail-hnlinux:~# pidof sshd //查看与sshd相关进程
31327 31325 2095
root@snail-hnlinux:~# pkill -9 sshd //杀死指定进程

范例2:杀死同义终端下的进程

Java代码
root@snail-hnlinux:~# pkill -t tty1 //杀死终端1下的所有进程

范例3: 杀死指定用户进程

Java代码
root@snail-hnlinux:~# pkill -u hnlinux

范例4:反向选择

Java代码
root@snail-hnlinux:~# pkill -vu hnlinux //杀死不属于hnlinux用户的所有进程

————————————————
版权声明:本文为CSDN博主“MrCoderr”的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/coderder/article/details/78899823

⑻ linux什么是进程

您好,方法
linux是一个多用户多任务的操作系统,多用户是指多个用户可以在同一个时间用计算机,多任务是指linux可以同时执行那个多个任务,它可以在还未执行完一个任务时又执行另一个任务。
每当运行一个任务时,系统就会启动一个进程,进程是一个程序在其自身的虚拟地址空间中的一次执行活动,之所以要创建进程,就是为了使多个程序可以并发的执行。从而提高系统的资源利用率和吞吐量。
程序只是一个静态的指令集合,儿进程是一个程序的动态执行过程,它具有生命期,是动态的产生和消亡的。
方法2
1、进程是资源申请,调度和独立运行的单位,它使用系统中的运行资源,而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,它不占用系统的运行资源,
2、进程和程序无意义对应的关系,一方面一个程序可以由多个进程公用,即一个程序在运行过程中可以产生多个进程,另一个方面,一个进程在生命期内可以顺序的执行若干个程序。
3、在linux系统中总是又很多的进程同时运行,系统根据进程号pid区分不同的进程,系统启动后的第一个进程是init,它的pid是1,init是唯一一个由系统内核直接运行的进程。
4、新的进程可以用系统调用fork()来产生,就是从一个已经存在的旧进程中分出一个新进程来,旧进程就是新进程的父进程。

⑼ Linux 怎么根据进程号,找对应的进程!

Linux根据进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。

有很多用户喜欢用两个屏幕,尤其是程序员、游戏玩家、视频制作者等,可以说双屏显示,游戏工作,两不误。那么电脑设置双屏显示或多屏显示有什么用?怎么设置双屏或多屏显示呢?下面小编简单介绍一下它的作用以及具体的操作方法吧!

双屏显示器有什么好处(电脑)

1、大屏幕拼接

(拼接计算机图形,拼接动态视频)投影墙;公安、军事、铁路、交通、航天、邮电、卫星发射等指挥调度系统;图形图像编辑,三维动画,多媒体设计;工业领域的过程控制;证券交易、期货、银行信息显示;CAD/CAM设计,排版编辑系统,视频图象编辑。

2、文件编辑:

制作企划案文件资料时,同时参考搜寻相关网络资料,不会因为切换视窗而造成资料混乱。

3、绘图编辑:

使用绘图软件设计案件时,同时开启参考文案窗口,也可以延伸桌面,方便处理大型设计稿制作,与校对的窗口完全不重叠。

4、影视娱乐:

(1)收看网络电视,同时浏览其它频道的节目介绍,精彩节目不错过。

(2)玩在线游戏时,可同步对照游戏攻略的密技。

5、 办公室 :

(1)横跨两个以上的屏幕检视大型表格(如EXCEL图表)。

(2)在延伸出的桌面空间上同时开启多个程序,不需频繁地切换使用窗。

(3)读取电子邮件并同时在其它屏幕开启附件档案。

6、程序设计:

撰写复杂的程序时,另外一个窗口同时检视程序执行结果画面,方便进行更新修改。

以上就是双屏电脑的好处了,大家现在对于双屏电脑是不是也有所了解了呢?看到小编为大家列举的都是双屏电脑的好处是不是有些心动呢?下面一起来看看如何设置吧!

一、硬件要求(以Win10系统为案例)

1、电脑主机必须具备VGA/DVI/HDMI任意两路输出的独立显卡接口(一般入门级显卡就支持),如下图所示:

2、准备VGA/DVI/HDMI任意两根线,显示输出接口对应的连接线外观图如下所示:

3、两个显示器,支持VGA/DVI/HDMI任意两种接口(否则需要VGA转换器接头)

二、双屏操作步骤

1、首先把外接显示器与电脑显卡接口通过VGA/DVI/HDMI任意两种线相连接。

2、连接成功后,进入电脑系统桌面,鼠标右击桌面空白处选择【显示设置】

3、如果连接成功就可以看到显示器有2个

4、显示界面找到【多显示器设置】下方选择【扩展这些显示器】,然后两个显示器就可以正常显示了。

5、如果线路检测没问题仍然显示不出来,那么鼠标 右击桌面选择【 NVIDIA 控制面板 】

6、找到【设置多个显示器】,然后勾选我们希望使用的显示器,这样就可以 了。

三、多屏显示方法

硬件要求:

除了支持双屏的硬件条件之外,部分电脑需要进BIOS设置查找相关选项,若无法找到,说明主板不支持,请参考下面操作。

进BIOS操作步骤:

1、开机进入BIOS,找到【Devices】-【Video Setup】选项,敲击Enter回车按键;

2、选择【Select Active Video】选项设置成【IGD】模式,并将【Multi-Monitor Support】选项设置成【Enabled】模式;

3、设置完成后,点击F10键,选择【Yes】进行保存;

4、重启进入操作系统后,在桌面空白处右键,从菜单中找到集成显卡控制台程序,进行多屏显示设置即可。

⑽ 如何查看linux进程状态

您好,linux查看进程方法
首先需要连接linux系统,我们不能像windows系统一样直接远程连接就可以了,因为我们还有需要输入命令查询等操作,所以最好下载一个终端模拟软件,我这里就以Xshell5为例了,当然了使用大家顺手的软件就可以了。
Xshell5的下载安装我就不讲了,大家自行下载安装就可以了。接下来我们需要使用Xshell5连接到我们的linux服务器上,打开Xshell5,点击软件界面左上角的文件菜单下的新建功能。
在新建会话窗口中输入名称、主机和端口号,名称随便取,主机就是你的服务器的ip地址,端口号就是服务器设置的连接端口号,然后点击确定。
这样我们就新建了一个会话了,接下来就进入到了会话列表页面,点击我们建立的新会话,然后选择连接。
接下来就会弹出窗口要我们输入登录用户名和密码,按要求输入就可以了,这样我们就正常的登陆连接到linux系统了。
接下来我们就要输入ps命令来查看linux的进程了,如图在窗口中输入命令ps aux,然后按回车键运行一下,就可以查看到linux所有运行中的进程了。
如果你输入ps空格一下,然后-A,因为这个字母敏感,所以我这么写了,需要和上面一样连起来的,那么就会显示所有的linux系统中的进程了。

热点内容
上传文件丢失 发布:2024-10-03 04:20:56 浏览:676
编译流程不稳定 发布:2024-10-03 04:16:33 浏览:559
579ff页面访问升级中 发布:2024-10-03 04:05:15 浏览:819
南宁联想服务器维修站地址 发布:2024-10-03 04:00:11 浏览:879
linux软件权限 发布:2024-10-03 03:56:23 浏览:153
浪潮服务器怎么拆 发布:2024-10-03 03:48:23 浏览:141
内江电信服务器ip 发布:2024-10-03 03:43:57 浏览:270
编程猫加盟费多少 发布:2024-10-03 03:29:55 浏览:618
双击运行python脚本 发布:2024-10-03 03:28:14 浏览:174
php逗号分隔数组 发布:2024-10-03 03:15:09 浏览:66