面试基础 一文件操作和程序进程

目录:

1.文件操作

  1. 文件删除但是cpu和内存还是没有减少是为什么
  2. 怎样查看一个文件的大小
  3. 硬链接和软连接的区别
  4. 查看七天前的文件
  5. Linux上centos系统安装好以后会有一个 anaconda-ks.cfg文件 

2. 程序进程

  1. 什么是进程和线程
  2. 进程和线程的区别
  3. 什么是僵尸进程
  4. 解决僵尸进程
    1. 找到僵尸进程
    2. 杀死僵尸进程
  5. 什么是孤儿进程

1.文件操作

1.1文件删除但是cpu和内存还是没有减少是为什么

  文件删除,文件还依然被调用,我们会发现内存和cpu都和原来没有变化,是因为,rm删除掉的只是i_nlink,也就是说,删除掉的是文件名到inod的链接删除了。但是 block数据块还是存在的。

  

1.2怎样查看一个文件的大小

[root@ localhost etc]# du -sh
30M	.

1.3硬链接和软连接的区别

(1)inod号不一样

   硬链接的inod号和源文件的inod号是一样的

   软连接的inod号和源文件的inod号是不一样的

(2)如果源文件删除对链接的影响不一样

      硬链接没有源文件还可以照常使用

      软连接没有源文件就不能使用了

1.4查看七天前的文件

[root@ localhost etc]# find -type f -mtime +7

1.5Linux上centos系统安装好以后会有一个 anaconda-ks.cfg文件 

自动生成的启动文件anaconda
# Kickstart file automatically generated by anaconda.
版本=开发
#version=DEVEL
系统安装途径光盘
install
cdrom
语言和键盘布局
lang zh_CN.UTF-8
keyboard us
网络配置
network --onboot no --device eth0 --bootproto dhcp --noipv6
root密码
rootpw  --iscrypted $6$5XHy/O.DtgKiMf04$5MayVZSdodEj3iwUDYBzAiGETZwuI.u8SZRF3a04vMcgQVzOnEPXz35PAKackJDRHfVUTtQYFCUGNebDaQdd./
防火墙开启的端口
firewall --service=ssh
认证加密方式
authconfig --enableshadow --passalgo=sha512
seliunx级别信息
selinux --enforcing
时区
timezone --utc Asia/Shanghai
系统启动引导
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --none
磁盘信息
#part /boot --fstype=ext4 --size=200
#part swap --size=2000
#part / --fstype=ext4 --grow --size=200
repo以及本地安装包,centos网络安装包
repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100
%packages
@chines-support
@core
@server-policy
结束
%end

  

2. 程序进程

2.1什么是进程和线程

  进程是系统正在运行一个程序的时候

  程序一旦运行就是进程,每一个进程都拥有独立的空间

  进程之间无法互相访问(相互独立),如果想让进程访问另一个进程的资源,需要开启进程间的通道 (管道,文件,套接字)

  进程可以拥有多个线程

  进程是划分资源的最小的单位

  线程是进程的一个实体

2.2进程和线程的区别

  1. 地址空间和其他资源 (进程有独立的空间,进程间相互独立 。线程没有独立空间,资源共享)  

  2.调度和切换 (线程的切换快一些)

2.3什么是僵尸进程

  造成僵尸进程的成因是因为该进程本应该已经执行完毕,但是该进程的父进程却无法完整的将该进程结束掉,而造成该进程一直存在于内存中。

2.4解决僵尸进程

2.4.1 ps 找到僵尸进程 

[root@ localhost ~]# ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0   1477   1475  0  80   0 - 29070 wait   pts/0    00:00:00 bash
0 R     0   1617   1477  0  80   0 - 37233 -      pts/0    00:00:00 psF 

F 那一列表示进程标志  

  • S:代表进程的状态 
  • R ( Running):正在运行的进程 
  • S(Sleeping):正在睡眠的进程,但可被唤醒 
  • D:不可被唤醒的睡眠状态,一般都是在进行数据的I/O 
  • T:停止状态 
  • Z(Zombie):僵尸状态,进程已经终止但却无法被删除至内存外

2.4.2  top找到僵尸进程

[root@ localhost ~]# top|head -5
top - 14:13:59 up 41 min,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  90 total,   1 running,  89 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.3 sy,  0.0 ni, 99.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   999936 total,   785328 free,    90420 used,   124188 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   761788 avail Mem

Zombie):僵尸状态  前面的数字代表个数 

2.4.3 杀死僵尸进程

[root@ localhost ~]# kill -9 //后面加pid号 

2.5什么是孤儿进程

  孤儿进程指的是在其父进程执行完成或被终止后仍继续运行的一类进程。这些孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 
  孤儿进程不影响程序
 
 
 
原文地址:https://www.cnblogs.com/gaiting/p/12431270.html