首页 > 编程知识 正文

linux面试题必会题目,mysql面试题

时间:2023-05-05 21:23:15 阅读:15301 作者:2684

今天编辑要分享的文章,关于Linux面试中常用的面试问题有哪些? 据说金三银四、三月是求职的好时机,打算跳槽的伙伴们已经准备好了吗? 今天,编辑为打算参加Linux面试的伙伴们准备了这个Linux面试中的常见问题。 一起看看吧。 我希望对你有帮助。

1、在Linux面试中经常听到的命令是什么?

(1)、如何在Linux下查找某个目录下所有子目录的图像?

find.- name ' *.h '|xargs grep ' *.png '

)2)、查找该文件中出现一系列字符的次数?

grep -o 'xxx' file.c | wc -l

)3)、将指定目录下的一系列文件复制到指定目录下?

find/usr/include-name ' w *.h '|xargs-ICP { }./xargs的-I参数,

将替换为{}指定其内容的{}读取的所有行

find/usr/include-name ' w *.h '|xargs CP-t./CP的-t参数将成为目标源

) 4、ls是由哪个进程创建的?

打开init---shell进程----- -启动ls进程

(5)、Vim中的交替命令?

33660 % s/ABC/ABC/g (用ABC替换ABC ) ) ) ) ) ) )。

2、Linux下的软链接和硬链接

软链接

相当于windows的快捷方式。 在一个特殊文件中指向另一个文件。 此特殊文件保存了另一个文件的路径。 处理这个特殊文件就像处理那个连接的文件一样

软连接文件的本质是两个文件

ln -s源文件名软链接名

硬链接

inode编号Linux文件系统中的所有文件和目录都有唯一的编号

硬链接文件是指存储在文件系统中的不同路径上具有相同inode编号的文件

本质:虽然存储在文件系统中的不同位置,但它是同一文件,相当于文件系统中文件的几个替身之间没有直接的依赖关系,但处理一个文件就像处理不同位置的同一文件一样,是中心文件

ln源文件名硬连接名称//在同一目录下

3、Linux下的流程环境

僵尸进程、孤儿进程、守护进程、进程组、会话、前台进程组、后台进程组

1、僵尸进程:子进程已终止。 父进程没有对操作系统内核做出明确的答复。 收到子进程结束的消息。 在这种情况下,操作系统内核将进程状态设置为defunct---僵尸进程,同时保留该子进程的部分PCB信息

用ps -ef | grep 'xxx '找到僵尸进程的PID,用kill -9 PID,也不能强制杀死; 也就是说,僵尸进程不能直接去除。

僵尸过程危险性:消耗PCB资源,主要是PID资源。 系统生成大量的僵尸进程,并且没有可用于生成新进程的进程号,因此系统资源不足

僵尸过程的三个解决方案:

核心思想:父流程知道子流程结束,只有明确回复操作系统,操作系统才能回收PCB资源,避免僵尸流程的发生

在这种情况下,父进程必须处理子进程的终止,并且必须调用wait (、waitpid )和waitpid函数系列。 wait ) )等待子进程结束,wait ) )调用的进程将被阻止,直到收到来自子进程的消息。 子进程结束后,将向父进程发送sigchld(17 )信号

)1),适用于等待)仅针对父子进程,父进程在阻止子进程之前等待子进程结束,并向父进程发出信号,以避免子进程的僵尸状态

wait ) )方法仅适用于具有子进程的进程。 对于没有子进程的进程(wait ) )方法的调用将失败

wait ) )方法用于处理子进程的结束状态,同时明确告知父进程OS内核已处理子进程的结束,使OS能够完全回收子进程的PCB信息

) 2、)僵尸进程的父进程exit ) ),僵尸进程接收到init进程的init进程将检查进程的状态,如果发现是僵尸进程,将通知操作系统回收

写(3)、(3)信号处理函数、signal(sigchld )

函数指针),信号处理程序中为wait ) ),则父进程知道子进程已结束,并显式返回操作系统(即,在子进程结束时信号处理程序接收到SIGCHLD信号时)

上述解决方案:

hxdxxm :长时间阻止父进程

方案2 :确保终止父进程

方案3 )可以解决父进程阻塞,避免僵尸进程的发生

2、孤儿进程:如果父进程结束,且其一个或多个子进程仍在运行,则这些子进程将是孤儿进程,不能独立于进程树存在,因此孤儿进程必须与init进程(即孤儿程序收养后正常释放,无危害

3、守护(精灵)进

程:守护一个服务,长期驻留在内存中提供服务,不能够受制于终端;

如何让一个进程成为守护进程?

让一个进程脱离前台进程组关系,如下2步:i、创建一个新的会话;ii、构成孤儿进程

pid_t pid;

pid = fork();

if(pid == 0){

setsid(); //创建一个新的会话,也就是创建一个新的进程组

while(1) { //while循环代表着长期驻留

...

}

}else if(pid > 0){ //对其父进程就是要求退出,其子进程构成孤儿进程

...

//exit(0);

}else{

perror();

}

4、进程组:在Linux下进程除了具有父子关系这样的组织关系以外,还具有分组的组织关系。任何一个进程都需要隶属于某个进程组

每一个进程组都拥有一个独立的进程组编号,可以通过getpgid()方法得到。

每一个进程组都拥有且只拥有一个组长进程。可以通过该组长管理其组内的其他进程的统一行为。(例如:组长进程若获取一个特殊的信号,该信号可以传递给组内所有进程)

进程组ID就是进程组组长的进程ID

进程组内的成员都是组长的子及子孙

创建:setpgid()

5、会话:是进程组之间的某种关系,即每一个进程除了要归属于一个进程组以外,还需要归属于一个会话之中,会话的概念主要是从终端登陆到计算机之后得到的

当一个终端登录到计算机之后,为了方便将不同的终端隔离开,同时又能够充分合理的管理一个终端下产生的所有进程,因此而提出了会话的概念。换句不准确描述来说:会话就是用户登录之后从登录服务进程到shell进程所组成的集合

一个会话通常是由多个进程组组成的,分为两部分(前台进程组,后台进程组)。

会话具有一个会话首进程。操作系统通过会话的首进程来管理整个会话中的所有进程组。

创建会话:setsid()方法来创建一个新的会话,从而就会出现新的进程组

6、前台进程组:前台进程组是和终端服务进程、bash进程捆绑在一起的,和终端直接相关。那么,终端的任何操作都会影响到所有的前台进程组

在shell交互环境中执行一个命令,就会产生一个新的进程来执行这个命令,不仅如此,还会产生一个新的进程组,该进程组的组长就是被执行命令而形成的新进程

前台进程组的最大问题就在于:由终端控制,终端只需要让进程组的组长停止,其组内的所有进程都会停止

7、后台进程组:断开与终端的关系(并非输入、输出、错误输出关系),进程组关系,不再受制于终端而存在,这种进程与进程组被称之为后台的

后台进程存在的理由:需要常驻内存,提供一个服务

以上就是小编今天为大家分享的关于Linux面试中的常见面试题有哪些?的文章,希望本篇文章能够对正准备参加Linux面试的小伙伴们有所帮助。想要了解更多Linux相关知识记得关注达内Linux培训官网。最后祝愿小伙伴们面试成功哦~

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。