zoukankan      html  css  js  c++  java
  • 面试基础 一文件操作和程序进程

    目录:

    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进程对它们完成状态收集工作。 
      孤儿进程不影响程序
     
     
     
  • 相关阅读:
    JS事件
    BOM
    DOM
    常见的SQL字符串函数
    常用的认证方式
    后台代码扫描规则-sonarQube官方
    spring cloud中feign的使用
    常见基于 REST API 认证方式
    Java中连接池
    这是一张心情贴
  • 原文地址:https://www.cnblogs.com/gaiting/p/12431270.html
Copyright © 2011-2022 走看看