操作系统类面试题收集
Linux 基础 进程 如何查找特定进程消耗多少内存 bash 1 ps aux --sort=-%mem 按住 ctrl + c 会发生什么 按下 Ctrl + C 时,会向当前正在运行的前台进程发送一个信号,具体来说是 SIGINT 信号(Interrupt Signal,中断信号)。这个信号的作用是请求进程中断执行,通常会导致进程终止。信号编号是 2。 如果程序有处理信号,那么将不会发生任何事情。 守护、僵⼫、孤⼉进程的概念终端 【答】 守护进程:运⾏在后台的⼀种特殊进程,独⽴于控制终端并周期性地执⾏某些任务。 僵⼫进程:⼀个进程 fork ⼦进程,⼦进程退出,⽽⽗进程没有 wait/waitpid⼦进程,那么⼦进程的进程描述符仍保存在系统中,这样的进程称为僵⼫进程。 孤⼉进程:⼀个⽗进程退出,⽽它的⼀个或多个⼦进程还在运⾏,这些⼦进程称为孤⼉进程。(孤⼉进程将由 init 进程收养并对它们完成状态收集⼯作) 进程间通讯方式有哪些? Pipe:无名管道,最基本的IPC,单向通信,仅在父/子进程之间,也就是将一个程序的输出直接交给另一个程序的输入。常见使用为 ps -ef|grep xxx FIFO [(First in, First out)] 或 有名管道(named pipe):与Pipe不同,FIFO可以让两个不相关的进程可以使用FIFO。单向。 Socket 和 Unix Domain Socket:socket和Unix套接字,双向。适用于网络通信,但也可以在本地使用。适用于不同的协议。 消息队列 Message Queue: SysV 消息队列、POSIX 消息队列。 Signal: 信号,是发送到正在运行的进程通知以触发其事件的特定行为,是IPC的一种有限形式。 Semaphore:信号量,通常用于IPC或同一进程内的线程间通信。他们之间使用队列进行消息传递、控制或内容的传递。(常见SysV 信号量、POSIX 信号量) Shared memory:(常见SysV 共享内存、POSIX 共享内存)。共享内存,是在进程(程序)之间传递数据的有效方式,目的是在其之间提供通信。 BASH和DOS控制台之间的主要区别在于3个方面: 答案: BASH命令区分大小写,而DOS命令则不区分; 在BASH下,/ character是目录分隔符,\ 作为转义字符。在DOS下,/ 用作命令参数分隔符,\ 是目录分隔符 DOS遵循命名文件中的约定,即8个字符的文件名后跟一个点,扩展名为3个字符。BASH没有遵循这样的惯例。 Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的? 答案:...