linux操作系统 实验报告(linux进程管理实验报告)

大家好,今天来为大家解答linux操作系统 实验报告这个问题的一些问题点,包括linux进程管理实验报告也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

操作系统管理Linux 系统进程实验报告

什么是进程

比如:windows上安装的QQ,我们会将其称为QQ程序,那么当QQ运行之后,在任务管理器中,我们可以看到QQ程序在运行着,此时,我们称其为:QQ进程。

言简意赅总结:当我们运行一个程序,那么我们将该程序叫进程

注意:

1.当程序运行为进程后,系统会为该进程分配内存,以及运行的身份和权限。

2.在进程运行的过程中,服务器上回有各种状态来表示当前进程的指标信息。

进程是已启动的可执行程序的运行实例,进程有以下组成部分:

分配内存,已分配内存的地址空间

安全属性,进程的运行身份和权限

进程代码,运行一个或多个的线程

进程状态,进程运行后的多种状态

静态程序,二进制文件,静态/bin/ls,/usr/sbin/sshd

动态进程,程序运行的过程,有生命周期及运行状态

进程的运行环境,包括以下几个部分:

局部和全局变量

当前的调度上下文

分配给进程使用的系统资源,例如文件描述符、网络端口等

给进程分配对应的pid,ppid

程序和进程的区别

1.程序是数据和指令的集合,是一个静态的概念,比如/bin/ls、/bin/cp等二进制文件,同事程序可以长期存在系统中。

2.进程是一个程序的运行过程,是一个动态概念,进程是存在生命周期概念的,也就是说进程会随着程序的终止而销毁,不会永远在系统中存在。

进程的生命周期

程序运行时进程的状态关系:

1.当父进程接收到任务调度时,会通过fork派生子进程来处理,那么子进程会集成父进程的衣钵。

2.子进程在处理任务代码时,父进程会进入等待的状态...

3.如果子进程在处理任务过程中,父进程退出了,子进程没有退出,那么这些子进程就没有父进程来管理了,就变成了僵尸进程。

4.每个进程都会有自己的PID号,(process id)子进程则PPID

Linux命令实验报告linux命令实验

如何在linux上用命令实现用户和组的管理?

Linux上用命令实现本地用户和组的管理

本地用户和组:管理文件和进程等等

本地用户和组:

1)root:超级管理员系统创建的第一个账户

特点:

id为:0

家目录:/root

具有系统的完全控制权:小心使用。

#id

uid=0(root)gid=0(root)groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

#

2)普通用户:不具有管理员权限

特点:

id范围:

1000=id=60000

家目录:/home/用户名

#idstudent

uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)

#

3)服务用户:为服务提供权限

特点:

id范围:

0id1000

家目录:应用程序服务目录

#idapache

uid=48(apache)gid=48(apache)groups=48(apache)

#

如果是yum,rpm安装的软件:由rpm包中的脚本创建服务账户

Includeconf.modules.d/*.conf

#

#Ifyouwishhttpdtorunasadifferentuserorgroup,youmustrun

#httpdasrootinitiallyanditwillswitch.

#

#User/Group:Thename(or#number)oftheuser/grouptorunhttpdas.

#Itisusuallygoodpracticetocreateadedicateduserandgroupfor

#runninghttpd,aswithmostsystemservices.

#

Userapache

Groupapache

#'Main'serverconfiguration

#

本地组:

1)主组:一个用户一定要属于某个主组中。当些用户在创建文件时,给文件的归属组

2)从属组:用户容器,组织和管理用户权限管控

作用:

文件:

进程:

$ps-ux

USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND

student321780.00.4930529360?Ss15:000:00/usr/lib/system

student321820.00.32537767072?S15:000:00(sd-pam)

student321880.00.21594124980?S15:000:00sshd:student@p

student321890.00.22339124864pts/0Ss15:000:00-bash

student322930.30.21594085192?D15:430:00sshd:student@p

student322940.30.22339124924pts/1Ss15:430:00-bash

student323190.50.22339404804pts/1S15:430:00/bin/bash

student323410.00.22693123876pts/1R+15:430:00ps-ux

$

账户文件:

1)/etc/passwd:保存用户信息

#cat/etc/passwd|grepstudent

student:x:1000:1000:StudentUser:/home/student:/bin/bash

用户名密码uid主组ID描述家目录登录shell

#

#cat/etc/passwd|grep-wroot:x

root:x:0:0:root:/root:/bin/bash

#

#cat/etc/passwd|grepapache

apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

服务账号无法登录系统

#

2./etc/shadow:保存用户密码的HASH,密码的有效性信息,密码修改时间,账户有效期。

#

#ls-l/etc/shadow

----------.1rootroot1014Mar2911:39/etc/shadow

#

#

#cat/etc/shadow|grepstudent

student:$6$8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80:18038:0:99999:7:::

#

密码的HASH:sha512

8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80

18038:天数密码最后一次修改的时间从1970-01-01+18038天之后那一天

0:密码最少使用天数0没有限制用户随时可以改密码

99999:天数,密码最大修改时间永久200多年

7:warning警告时间,当密码快到最后修改时间前7天,通知用户修改。

::天数失效时间inactive用户密码过了最后修改时间,未改变密码,再过多少天,账户将被锁定

::账户有效期

创建用户和组:

创建时,没有密码:

#useraddzhangsan

#useraddlisi

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)

#idlisi

uid=1002(lisi)gid=1002(lisi)groups=1002(lisi)

#

无法登录:与PAM有关

$

$su-zhangsan

Password:

Password:

su:Authenticationfailure

$

设置密码:

#

#cat/etc/passwd|grepzhangsan

zhangsan:x:1001:1001::/home/zhangsan:/bin/bash

#cat/etc/shadow|grepzhangsan

zhangsan:!!:18350:0:99999:7:::#!!未设置密码

#

#passwdzhangsan

Changingpasswordforuserzhangsan.

Newpassword:

BADPASSWORD:Thepasswordisshorterthan8characters

Retypenewpassword:

passwd:allauthenticationtokensupdatedsuccessfully.

#

#

#cat/etc/shadow|grepzhangsan

zhangsan:$6$3wxuXomVbQ58wQcK$oQW6injgldxa2N/Pt4tCPDVRqWRVGw.UNZdxE4R0nhEt8K/3UDKzxap6ReIReEvDpG.GdwjpMiiDh7.f6DJNQ0:18350:0:99999:7:::

#

chage可以查看用户密码属性

#chage-lzhangsan

Lastpasswordchange:Mar29,2020

Passwordexpires:never

Passwordinactive:never

Accountexpires:never

Minimumnumberofdaysbetweenpasswordchange:0

Maximumnumberofdaysbetweenpasswordchange:99999

Numberofdaysofwarningbeforepasswordexpires:7

#

创建组:从属组

#

#groupaddit

#

#

#groupaddsales

#

#

#

#cat/etc/group

root:x:0:

bin:x:1:

daemon:x:2:

sys:x:3:

adm:x:4:

tty:x:5:

disk:x:6:

lp:x:7:

mem:x:8:

kmem:x:9:

wheel:x:10:student

cdrom:x:11:

mail:x:12:postfix

man:x:15:

dialout:x:18:

floppy:x:19:

games:x:20:

tape:x:33:

video:x:39:

ftp:x:50:

lock:x:54:

audio:x:63:

users:x:100:

nobody:x:65534:

dbus:x:81:

utmp:x:22:

utempter:x:35:

input:x:999:

kvm:x:36:

render:x:998:

systemd-journal:x:190:

systemd-coredump:x:997:

systemd-resolve:x:193:

tss:x:59:

polkitd:x:996:

rpc:x:32:

unbound:x:995:

ssh_keys:x:994:

sssd:x:993:

setroubleshoot:x:992:

rpcuser:x:29:

insights:x:991:

cockpit-ws:x:990:

sshd:x:74:

chrony:x:989:

tcpdump:x:72:

student:x:1000:

printadmin:x:988:

libstoragemgmt:x:987:

slocate:x:21:

postdrop:x:90:

postfix:x:89:

apache:x:48:

zhangsan:x:1001:

lisi:x:1002:

it:x:1003:组成员列表

sales:x:1004:

#

#idstudent

uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)

#

将用户添加进组:zhangsan,加入it组,lisi,sales组

#idstudent

uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)

#usermod-aGitzhangsan

#

#

#usermod-aGsaleslisi

#

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)

#idlisi

uid=1002(lisi)gid=1002(lisi)groups=1002(lisi),1004(sales)

#

删除用户:

#useraddandy

默认删除,保留用户的文件:

#

#userdelandy

#

#

#useraddandy#重建andy会不一样,uid会不同

useradd:warning:thehomedirectoryalreadyexists.

Notcopyinganyfilefromskeldirectoryintoit.

Creatingmailboxfile:Fileexists

#

#useradduser1

#useradduser2

#idandy

uid=1003(andy)gid=1005(andy)groups=1005(andy)

#userdel-rany

userdel:user'any'doesnotexist

#

#userdel-randy#不保留用户的文件。家目,邮箱文件,skel文件都会

#

#

#idandy

id:‘andy’:nosuchuser

#useraddandy

#idandy

uid=1006(andy)gid=1008(andy)groups=1008(andy)

#

从组中移除用户:

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)#zhangsan主组,it从属组

#

命令:

#gpasswd-dzhangsanit

Removinguserzhangsanfromgroupit

#

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)

#

#

#usermod-aGitzhangsan

#

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)

#

#

#

#groupszhangsan

zhangsan:zhangsanit

#

直接修改文件:

#vim/etc/group

#cat/etc/group|grepit:

it:x:1003:

#

删除组:

#groupaddtest

#

#

#groupdeltest

创建自定义用户和组:

实验:用户名mary,指定用户id2000,家目录/maryhome,不用登录系统描述thisismaryuser

#

#useradd-u2000-d/maryhome-s/sbin/nologin-c"thisismary"mary

#

#idmary

uid=2000(mary)gid=2000(mary)groups=2000(mary)

#cat/etc/passwd|grepmary

mary:x:2000:2000:thisismary:/maryhome:/sbin/nologin

#

#su-mary

Lastlogin:SunMar2916:48:49CST2020onpts/0

Thisaccountiscurrentlynotavailable.

#

创建自定义组:指定组id

#groupadd-g3000group1

#cat/etc/group|grepgroup1

group1:x:3000:

#

linux命令详解?

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。

线上查询及帮助命令(2个)

man:查看命令帮助,命令的词典,更复杂的还有info,但不常用。

help:查看Linux内置命令的帮助,比如cd命令。

linux实训报告怎么写?

实验目的:

1、熟悉系统管理相关的命令;

2、熟悉重定向及管道操作;

3、熟悉后台运行符

3、掌握作业调度at和crontab的使用。实验设备及环境:

PC兼容机(具体的机型)、Fedora14/CentOS实验内容及要求:

实验内容:

1、练习系统管理相关的命令:

top,free,who,w,ps,kill

2、将vi命令置于后台运行,然后终止其运行。

3、使用重定向符号将当前登录系统用户的信息记录在文件中;

4、使用管道操作和wc命令来统计/etc目录的文件及目录数量

5、用at实现:今天下午4点运行/bin/ls

6、用crontab实现:每天下午4点运行/bin/ls

实验要求:

独立完成实验,上机实验相关操作。提交详细的实验报告。报告以A4纸张打印形式提交,并上传电子版。

四、实验步骤

(1)练习系统管理相关的命令:top,free,who,w,ps,kill

Top命令

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.001.jpg(64.78KB,下载次数:20)

2017-6-101:39上传

Free命令

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.002.jpg(6.22KB,下载次数:49)

2017-6-101:39上传

Who命令(w命令)

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.003.jpg(6.54KB,下载次数:52)

2017-6-101:39上传

Ps命令

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.004.jpg(5.53KB,下载次数:44)

2017-6-101:39上传

Kill命令

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.005.jpg(6.52KB,下载次数:56)

2017-6-101:39上传

(2)将vi命令置于后台运行,然后终止其运行。

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.006.jpg(14.77KB,下载次数:22)

2017-6-101:39上传

(3)使用重定向符号将当前登录系统用户的信息记录在文件中;

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.007.jpg(17.15KB,下载次数:44)

2017-6-101:39上传

(4)使用管道操作和wc命令来统计/etc目录的文件及目录数量

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.008.jpg(7.82KB,下载次数:158)

2017-6-101:39上传

(5)用at实现:今天下午4点运行/bin/ls

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.009.jpg(4.83KB,下载次数:51)

2017-6-101:39上传

(6)用crontab实现:每天下午4点运行/bin/ls

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.010.jpg(2.73KB,下载次数:34)

2017-6-101:39上传实验总结

Linux进程通信实验报告

一、实验目的:

进一步认识并发(并行)执行的概念,区别顺序执行和并发(并行)执行。

分析进程争用临界资源的现象,学习解决进程排斥的方法。

二、实验环境:

一台至少具有256MB内存的计算机,并安装Red Hat Linux 9的Linux操作系统。

三、实验内容:

1.预备知识

fork函数调用:创建一个新进程。

getpid函数调用:获得一个进程的pid。

lockf系统的调用:在进程同步控制中为进程加锁。

2.编写一段程序(程序名为fork1.c),使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。

(1)进入Linux操作系统。

(2)打开终端。进入vi编译器。

(3)输入源程序代码。

(4)按Esc键,进入命令模式后,输入“: wq文件名”就可以运行该程序了。

阅读剩余
THE END