Linux进程中TTY代表什么
时间: 2023-01-31 19:28:38 浏览: 73
TTY是"TeleTYpewriter"的缩写,在Linux中,它指的是一种输入/输出设备,通常是终端(terminal)或终端模拟器。每个TTY都有一个唯一的名称,例如/dev/tty1、/dev/tty2等,用于标识设备。当用户登录到Linux系统时,系统会分配一个TTY给用户,并将其作为用户的工作控制台。TTY也可以用于与其他设备进行通信,例如与串口设备连接的机器人。
相关问题
VMware实验 2 进程管理 实验性质:验证 建议学时:2 学时 任务数: 3 个 一、 实验目的 掌握 linux 进程管理命令 阅读 linux 内核 PCB 块相关代码 使用 C 语言创建一个进程及其子进程,掌握创建进程的方法,理解进程和程 序的区别。 二、 预备知识 1. linux 命令行 shell 的使用 2. 教材第二章 2.1~2.3 三、 实验内容 3.1 Linux 进程管理命令 3.1.1 进程管理的作用 判断服务器健康状态 查看系统中所有进程 杀死进程 3.1.2 ps 命令(查看当前系统中进程的快照) 结果默认会显示 4 列信息: PID: 运行着的命令(CMD)的进程编号 TTY: 命令所运行的终端 TIME: 运行着的该命令所占用的 CPU 处理时间 CMD: 该进程所运行的命令 3.1.3 top 命令(实时动态地查看系统的整体运行情况) 3.1.4 kill 命令(终止进程) 3.2 Linux 内核中 PCB 代码分析 阅读并分析/usr/src/linux-headers-5.4.0-62-generic/include/linux/sched.h 中进程控制块 相关定义。 找到进程控制块结构体定义,对应教材分析 3.3 Linux 进程控制 fork()通过复制调用进程来创建一个新进程。新进程被称为子进程;调用进程被称 为父进程。 函数特点 : 子进程和父进程在不同的内存空间中运行。 在 fork()的时候,这两个内存空间有相同的特性内容,两个进程将执行 fork() 系统调用之后的下一条指令,子进程使用相同的 CPU 寄存器值。 其中一个进程执行的内存写、文件映射和反映射不会影响另一个进程。 基本使用方式如下 参考实例代码:test001.c 四、 思考与练习 1. ps 命令的参数的使用,如显示所有当前进程,显示指定用户进程等。 2. 分析 task_struck 结构体中主要字段的含义。 3. 分析父进程和子进程的关系 在虚拟机怎么完成该实验
### 在 VMware 虚拟机中进行 Linux 进程管理实验
#### 实验环境搭建
为了在虚拟机环境中完成 Linux 进程管理的相关实验,首先需要安装并配置好 VMware 和目标操作系统(如 Ubuntu 或 CentOS)。确保虚拟机能够正常启动,并具备网络连接功能以便于下载必要的工具和软件包。
#### 使用 `ps` 命令查看进程信息
`ps` 是用于显示当前系统上运行的进程状态的一个重要命令。它提供了关于每个正在运行的任务的信息,比如 PID (Process ID),USER, STAT(状态), TIME(使用的 CPU 时间) 及 COMMAND(所执行的具体指令)[^2]。
基本语法如下所示:
```bash
ps aux
```
上述命令会列出所有用户的全部进程及其详细资料[^1]。
#### 利用 `top` 动态监控系统性能
除了静态展示外,还可以借助交互式的 `top` 工具来实时观察系统的资源消耗情况。此命令不仅呈现了各个进程的状态数据,还包含了内存利用率、CPU 占有率等全局统计指标。
```bash
top
```
当进入 top 界面之后,可以通过按键 'k' 来手动杀死某个指定编号的目标进程;或者按 q 键退出界面返回 shell 提示符处[^3]。
#### 学习与实践 kill 终止信号发送技巧
有时我们需要停止某些特定的服务或应用,则可以采用 send signal 的形式通知它们结束工作。“kill” 并不意味着真正摧毁文件实体而是向其传递消息让其自行关闭。最常用的几种类型包括 SIGTERM(-15 默认温和请求关闭)、SIGKILL (-9 强制立即销毁)等等。
例如要安全地中止 pid=1234 的程序可尝试下面这条语句:
```bash
kill 1234 # 发送默认 TERM 信号给 id 为 1234 的进程
```
#### 探索 fork() 创建新进程的能力
最后我们来看一下 C 库函数 int fork(void); 它的作用就是复制调用它的那个现有流程从而形成一对父子关系的新个体出来。成功时返回两次不同的数值——对于父亲来说是非零整数代表孩子身份标签而儿子那边则得到的是简单的零值表示自己刚诞生不久的事实。 下面是一个简单例子演示如何利用 fork 构建多级嵌套结构:
```c
#include <stdio.h>
#include <unistd.h>
int main(){
printf("Before Fork\n");
switch(fork()){
case -1 : perror("Fork failed!"); break;
case 0 : /* Child Process */
printf("Child process here! My PID is %d.\n", getpid());
_exit(0);
default : /* Parent Process */
wait(NULL); // Wait until child finishes.
printf("Parent continuing...\n");
}
}
```
Linux的tty如何关闭
在Linux系统中,TTY(Teletype)是一种虚拟终端,用于提供用户与操作系统的交互界面。Linux中有多种TTY,例如直接连接的物理终端和通过伪终端(pty)连接的终端仿真程序。
关闭一个TTY的过程通常涉及以下几个步骤:
1. 确定TTY的编号:你可以使用`who`或`w`命令查看当前登录的用户和他们使用的TTY。
2. 使用`kill`命令发送信号:确定要关闭的TTY后,你可以使用`kill`命令来终止与该TTY关联的进程。通常,你可以发送`SIGTERM`信号来优雅地关闭进程,如果进程不响应,再发送`SIGKILL`信号强制结束进程。
示例命令:
```bash
pkill -SIGTERM -t tty2
```
这个命令会向与`tty2`终端关联的进程发送`SIGTERM`信号。如果你想要强制关闭,可以将`SIGTERM`替换为`SIGKILL`。
3. 关闭图形登录管理器:如果你指的是关闭图形登录管理器(如GDM, LightDM等),你可能需要编辑系统的启动配置文件或使用系统的管理工具来禁用它。
需要注意的是,如果你是通过图形界面进入的TTY,关闭TTY可能会直接将你送回图形界面。如果你关闭了与系统启动相关的TTY,可能导致系统不稳定或者无法正常启动。
阅读全文
相关推荐














