
正文
注销命令Linux 注销命令可以退出操作系统吗
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
注册表查看电脑配置的 命令是什么?
注册表查看电脑配置注销命令Linux的 命令是什么?
开始→运行→输入的命令集锦
输入 regedit进入注册表查看配置
gpedit.msc-组策略
sndrec32-录音机
nslookup-ip地址侦测器
explorer-打开资源管理器
logoff-注销命令
tsshutdn-60秒倒计时关机命令
lusrmgr.msc-本机用户和组
services.msc-本地服务设置
oobe/msoobe /a-检查xp是否激活
notepad-打开记事本
cleanmgr-垃圾整理
start messenger-开始信使服务
pmgmt.msc-计算机管理
s messenger-停止信使服务
conf-启动
dvdplay-dvd播放器
charmap-启动字符映射表
diskmgmt.msc-磁盘管理实用程序
calc-启动计算器
dfrg.msc-磁盘碎片整理程序
chkdsk.exe-chkdsk磁盘检查
devmgmt.msc-设备管理器
regsvr32 /u *.dll-停止dll文件运行
drwtsn32-系统医生
rononce -p -15秒关机
dxdiag-检查directx信息
regedt32-注册表编辑器
msconfig.exe-系统配置实用程序
rsop.msc-组策略结果集
mem.exe-显示内存使用情况
regedit.exe-注册表
winchat-xp自带局域网聊天
progman-程序管理器
winmsd-系统信息
perfmon.msc-计算机性能监测程序
winver-检查windows版本
sfc /scannow-扫描错误并复原
winver-检查windows版本
wmimgmt.msc-打开windows管理体系结构
wupdmgr-windows更新程序
w脚本-windows脚本宿主设置
write-写字板
winmsd-系统信息
wiaacmgr-扫描仪和照相机向导
winchat-xp自带局域网聊天
mem.exe-显示内存使用情况
msconfig.exe-系统配置实用程序
mplayer2-简易
mspaint-画图板
mstsc-远程桌面连接
mplayer2-媒体播放机
magnify-放大镜实用程序
mmc-打开控制台
mobsync-同步命令
dxdiag-检查directx信息
drwtsn32-系统医生
devmgmt.msc-设备管理器
dfrg.msc-磁盘碎片整理程序
s messenger-停止信使服务
start messenger-开始信使服务
notepad-打开记事本
nslookup-网络管理的工具向导
ntbackup-系统备份和还原
查看电脑配置命令?
在运行里面输入cmd-systeminfo就都出来了
matlab中什么命令查看电脑配置?, 可查看全部电脑配置的命令是什么?
在运行里面输入cmd-systeminfo就都出来了!不知道是不是你要的这种!
查看电脑配置的命令
systeminfo
电脑注册表命令是什么 注册表有什么用
16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。 在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。 在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。 当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。 注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。 然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所有用户来说项都是公用的。 有些程序功能对用户有影响,有些是作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。 注册表控制用户模式的例子有注销命令Linux: 控制面板功能; 桌面外观和图标; 网络参数; 浏览器功能性和特征; 那些功能中的某些是和用户无关的,有些是针对用户的。 计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。 这里是在注册表中基与计算机控制条目的一些例子: 存取控制; 登陆确认; 文件和打印机共享; 网卡设置和协议; 系统性能和虚拟内存设置; 在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。
查看电脑配置的运行命令
查看电脑配置的运行命令为:
window运行dxdiag;
其他的运行命令为:
dxdiag---------检查DirectX信息;
regedit--------- 注册表编辑器;
regedt32-------注册表编辑器;
msconfig------- 系统配置 ;
msinfo32 ------- 系统信息;
winmsd---------系统信息;
progman--------程序管理器;
drwtsn32------ 系统医生;
dxdiag.exe 检测配置 ;
gpedit.msc---------组策略;
services.msc-----服务;
pmgmt.msc---计算机管理 ;
devmgmt.msc--- 设备管理器;
explorer-------打开资源管理器;
calc------启动计算器;
write----------写字板 ;
mspaint--------画图板;
notepad--------记事本 ;
Nslookup-------IP地址侦测器;
diskmgmt.msc---磁盘管理实用程序;
dfrg.msc-------磁盘碎片整理程序;
logoff---------注销命令;
tsshutdn-------60秒倒计时关机命令;
rononce -p ----15秒关机;
lusrmgr.msc----本机用户和组;
services.msc---本地服务设置;
stat--------端口查看;
conf-----------启动meeting;
dvdplay--------DVD播放器;
charmap--------启动字符映射表;
chkdsk.exe-----Chkdsk磁盘检查;
regsvr32 /u *.dll----停止dll文件运行;
regsvr32 /u zipfldr.dll------取消ZIP支持;
Msconfig.exe---系统配置实用程序;
msconfig/auto系统配置实用程序 ;
rsop.msc-------组策略结果集;
mem.exe--------显示内存使用情况;
lusrmgr.msc----本机用户和组 ;
winchat--------XP自带局域网聊天;
perfmon.msc----计算机性能监测程序;
winver---------检查Windows版本 ;
taskmgr-----任务管理器(2000/xp/2003);
wmimgmt.msc----打开windows管理体系结构(WMI) ;
wupdmgr--------windows更新程序 ;
wscript--------windows脚本宿主设置 ;
oobe/msoobe /a----检查XP是否激活;
wiaacmgr-------扫描仪和照相机向导 ;
mplayer2-------简易widnows media ;
playerlogoff---------注销命令;
mstsc----------远程桌面连接 ;
mplayer2-------媒体播放机 ;
magnify--------放大镜实用程序 ;
mmc------------控制台;
mobsync--------同步命令;
dfg-------打开系统组件服务;
ddeshare-------打开DDE共享设置;
nslookup-------网络管理的工具向导 ;
ntbackup-------系统备份和还原 ;
narrator-------屏幕“讲述人” ;
ntm *** gr.msc----移动存储管理器 ;
ntmsoprq.msc---移动存储管理员操作请求 ;
stat-an----(TC)命令检查接口;
syncapp--------创建一个公文包 ;
sysedit--------系统配置编辑器 ;
sigverif-------文件签名验证程序 ;
sndrec32-------录音机 ;
shrpubw--------创建共享文件夹 ;
secpol.msc-----本地安全策略 ;
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 ;
services.msc---本地服务设置 ;
Sndvol32-------音量控制程序;
sfc.exe--------系统文件检查器;
sfc/scannow---windows文件保护;
iexpress-------木马捆绑工具,系统自带;
tourstart------xp简介(安装完成后出现的漫游xp程序) ;
taskmgr--------任务管理器;
eventvwr-------事件查看器 ;
eudcedit-------造字程序 ;
packager-------对象包装程序 ;
perfmon.msc----计算机性能监测程序;
progman--------程序管理器;
utilman--------辅助工具管理器;
rsop.msc-------组策略结果集 ;
cmd.exe--------CMD命令提示符 ;
chkdsk.exe-----Chkdsk磁盘检查 ;
certmgr.msc----证书管理实用程序;
f *** gmt.msc-----共享文件夹管理器;
cliconfg-------SQL ;
SERVER 客户端网络实用程序 ;
Clipbrd--------剪贴板查看器 ;
conf-----------启动meeting ;
cleanmgr-------垃圾整理 ;
ciadv.msc------索引服务程序;
osk------------打开屏幕键盘 ;
odbcad32-------ODBC数据源管理器。
注册表运行命令和查看机器配置命令
regedit dxdiag
怎么用DOS命令查看电脑配置
建议你百度输入【查看电脑配置命令大全】百度文库里就有,很详细,就不给你复制了,太多了。
怎么用linux命令查看电脑配置
cat /proc/cpuinfo 查看cpu
free -m 查看内存
fdisk -l查看硬盘分区
df -h 查看挂载目录
ifconfig查看网卡信息
ethtool eth0查看详西的网卡工作模式
lspic列出所有芯片信息
相关问答
Q1: “linux”中无法输入感叹号是什么原因?
在命令行中输入时,不加双引号且在叹号前面加上转义字符\即可 echo hello\!\!\! #这样就不会报错了!
一、Linux是一套免费使用和自由传播注销命令Linux的类Unix操作系统注销命令Linux,是一个基于POSIX和UNIX注销命令Linux的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
二、linux通用命令如下:
1. date :print or set the system date and time
2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h查看)
4. logout, login: 登录shell的登录和注销命令
5. pwd: print or set the system date and time
6. more, less, head tail: 显示或部分显示文件内容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.
8. 更改文件权限: chmod u+x...
9. 删除非空目录:rm -fr dir
10.拷贝目录: cp -R dir
Q2: 关于LINUX最基本的一些命令?
Linux运维人员必会的120个命令
跟老男孩学Linux运维:核心系统命令实战
前言
第1章 Linux命令行简介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令帮助 / 4
1.3Linux shutdown reboot halt / 9
关机:
shutdown -h now
halt
init 0
第2章 文件和目录操作命令 / 13
2.1pwd:显示当前所在的位置 / 13
2.2cd:切换目录 / 16
2.3tree:以树形结构显示目录下的内容 / 18
2.4mkdir:创建目录 / 22
2.5touch:创建空文件或改变文件的时间戳属性 / 27
2.6ls:显示目录下的内容及相关属性信息 / 30
2.7cp:复制文件或目录 / 39
2.8mv:移动或重命名文件 / 42
2.9rm:删除文件或目录 / 45
2.10rmdir:删除空目录 / 48
2.11ln:硬链接与软链接 / 49
2.12readlink:查看符号链接文件的内容 / 54
2.13find:查找目录下的文件 / 55
2.14xargs:将标准输入转换成命令行参数 / 68
2.15rename:重命名文件 / 71
2.16basename:显示文件名或目录名 / 72
2.17dirname:显示文件或目录路径 / 72
2.18chattr:改变文件的扩展属性 / 73
2.19lsattr:查看文件扩展属性 / 75
2.20file:显示文件的类型 / 76
2.21md5sum:计算和校验文件的MD5值 / 77
2.22chown:改变文件或目录的用户和用户组 / 80
2.23chmod:改变文件或目录权限 / 81
2.24chgrp:更改文件用户组 / 85
2.25umask:显示或设置权限掩码 / 86
2.26老男孩从新手成为技术大牛的心法 / 90
第3章 文件过滤及内容编辑处理命令 / 91
3.1cat:合并文件或查看文件内容 / 91
3.2tac:反向显示文件内容 / 103
3.3more:分页显示文件内容 / 104
3.4less:分页显示文件内容 / 107
3.5head:显示文件内容头部 / 109
3.6tail:显示文件内容尾部 / 111
3.7tailf:跟踪日志文件 / 114
3.8cut:从文本中提取一段文字并输出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按两个文件的相同字段合并 / 127
3.13uniq:去除重复行 / 129
3.14wc:统计文件的行数、单词数或字节数 / 131
3.15iconv:转换文件的编码格式 / 133
3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134
3.17diff:比较两个文件的不同 / 135
3.18vimdiff:可视化比较工具 / 138
3.19rev:反向输出文件内容 / 139
3.20tr:替换或删除字符 / 140
3.21od:按不同进制显示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:纯文本编辑器 / 147
3.24老男孩逆袭思想:做Linux运维的多个好处 / 152
第4章 文本处理三剑客 / 153
4.1grep:文本过滤工具 / 153
4.2sed:字符流编辑器 / 159
4.3awk基础入门 / 165
第5章 Linux信息显示与搜索文件命令 / 176
5.1uname:显示系统信息 / 176
5.2hostname:显示或设置系统的主机名 / 178
5.3dmesg:系统启动异常诊断 / 179
5.4stat:显示文件或文件系统状态 / 181
5.5du:统计磁盘空间使用情况 / 183
5.6date:显示与设置系统时间 / 186
5.7echo:显示一行文本 / 190
5.8watch:监视命令执行情况 / 193
5.9which:显示命令的全路径 / 195
5.10whereis:显示命令及其相关文件全路径 / 196
5.11locate:快速定位文件路径 / 197
5.12updatedb:更新mlocate数据库 / 199
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200
第6章 文件备份与压缩命令 / 201
6.1tar:打包备份 / 201
6.2gzip:压缩或解压文件 / 208
6.3zip:打包和压缩文件 / 211
6.4unzip:解压zip文件 / 212
6.5scp:远程文件复制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆袭思想:新手如何高效地提问 / 220
第7章 Linux用户管理及用户信息查询命令 / 222
7.1 useradd:创建用户 / 222
7.2usermod:修改用户信息 / 227
7.3userdel:删除用户 / 229
7.4groupadd:创建新的用户组 / 230
7.5groupdel:删除用户组 / 231
7.6passwd:修改用户密码 / 232
7.7chage:修改用户密码有效期 / 237
7.8chpasswd:批量更新用户密码 / 238
7.9su:切换用户 / 240
7.10visudo:编辑sudoers文件 / 242
7.11sudo:以另一个用户身份执行命令 / 244
7.12id:显示用户与用户组的信息 / 248
7.13w:显示已登录用户信息 / 249
7.14who:显示已登录用户信息 / 250
7.15users:显示已登录用户 / 252
7.16whoami:显示当前登录的用户名 / 253
7.17last:显示用户登录列表 / 253
7.18lastb:显示用户登录失败的记录 / 254
7.19lastlog:显示所有用户的最近登录记录 / 255
第8章 Linux磁盘与文件系统管理命令 / 257
8.1fdisk:磁盘分区工具 / 257
8.2partprobe:更新内核的硬盘分区表信息 / 265
8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266
8.4parted:磁盘分区工具 / 268
8.5mkfs:创建Linux文件系统 / 272
8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274
8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275
8.8fsck:检查并修复Linux文件系统 / 278
8.9dd:转换或复制文件 / 281
8.10mount:挂载文件系统 / 284
8.11umount:卸载文件系统 / 288
8.12df:报告文件系统磁盘空间的使用情况 / 289
8.13mkswap:创建交换分区 / 293
8.14swapon:激活交换分区 / 294
8.15swapoff:关闭交换分区 / 295
8.16sync:刷新文件系统缓冲区 / 296
第9章 Linux进程管理命令 / 298
9.1ps:查看进程 / 298
9.2pstree:显示进程状态树 / 305
9.3pgrep:查找匹配条件的进程 / 306
9.4kill:终止进程 / 307
9.5killall:通过进程名终止进程 / 310
9.6pkill:通过进程名终止进程 / 311
9.7top:实时显示系统中各个进程的资源占用状况 / 313
9.8nice:调整程序运行时的优先级 / 320
9.9renice:调整运行中的进程的优先级 / 323
9.10nohup:用户退出系统进程继续工作 / 324
9.11strace:跟踪进程的系统调用 / 325
9.12ltrace:跟踪进程调用库函数 / 332
9.13runlevel:输出当前运行级别 / 334
9.14init:初始化Linux进程 / 335
9.15service:管理系统服务 / 335
第10章 Linux网络管理命令 / 338
10.1ifconfig:配置或显示网络接口信息 / 338
10.2ifup:激活网络接口 / 343
ifup eth0
10.3ifdown:禁用网络接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。
10.4route:显示或管理路由表 / 344
10.5arp:管理系统的arp缓存 / 350
10.6ip:网络配置工具 / 351
10.7netstat:查看网络状态 / 358
10.8ss:查看网络状态 / 362
10.9ping:测试主机之间网络的连通性 / 363
10.10traceroute:追踪数据传输路由状况 / 366
10.11arping:发送arp请求 / 367
10.12telnet:远程登录主机 / 369
10.13nc:多功能网络工具 / 370
10.14ssh:安全地远程登录主机 / 373
10.15wget:命令行下载工具 / 376
10.16mailq:显示邮件传输队列 / 379
10.17mail:发送和接收邮件 / 381
10.18nslookup:域名查询工具 / 386
10.19dig:域名查询工具 / 389
10.20host:域名查询工具 / 393
10.21nmap:网络探测工具和安全/端口扫描器 / 394
10.22tcpdump:监听网络流量 / 398
第11章 Linux系统管理命令 / 407
11.1lsof:查看进程打开的文件 / 407
11.2uptime:显示系统的运行时间及负载 / 411
11.3free:查看系统内存信息 / 411
11.4iftop:动态显示网络接口流量信息 / 413
11.5vmstat:虚拟内存统计 / 415
11.6mpstat:CPU信息统计 / 419
11.7iostat:I/O信息统计 / 420
11.8iotop:动态显示磁盘I/O统计信息 / 423
11.9sar:收集系统信息 / 425
11.10chkconfig:管理开机服务 / 430
11.11ntsysv:管理开机服务 / 433
11.12 setup:系统管理工具 / 434
11.13ethtool:查询网卡参数 / 436
11.14mii-tool:管理网络接口的状态 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自动化RPM包管理工具 / 446
top命令
第12章 Linux系统常用内置命令 / 450
12.1Linux内置命令概述 / 450
12.2Linux内置命令简介 / 450
12.3Linux常用内置命令实例 / 452
Q3: Linux基础命令之关机、重启、注销命令
shutdown是一个用来安全关闭或重启Linux系统注销命令Linux的命令注销命令Linux,系统在关闭之前会通知所有注销命令Linux的登录用户,系统即将关闭,此时所有的新用户都不可以登录,与shutdown功能类似的命令还有init、halt、poweroff、reboot。
【语法格式】
shutdown [OPTION] TIME [MESSAGE]
【命令操作】
通常情况下,我们执行的shutdown命令为shutdown -h now或shutdown -r now。
从RedHat或CentOS 6开始,你会发现halt、poweroff、reboot这三个命令对应的都是同一个man帮助文档,而halt和poweroff命令是reboot命令的链接文件.
【语法格式】
reboot [OPTION]
halt [OPTION]
poweroff [OPTION]
【命令操作】
Q4: linux命令里面的nohup命令和 & 是一个意思吗?不挂断是什么意思?
场景注销命令Linux:
如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?
hangup 名称的来由
在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当 modem 断开连接时,就会给终端发送 hangup 信号来通知其关闭所有子进程。
解决方法注销命令Linux:
注销命令Linux我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。
1. nohup
nohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。让我们先来看一下 nohup 的帮助信息:
NOHUP(1) User Commands NOHUP(1)
NAME
nohup - run a command immune to hangups, with output to a non-tty
SYNOPSIS
nohup COMMAND [ARG]...
nohup OPTION
DESCRIPTION
Run COMMAND, ignoring hangup signals.
--help display this help and exit
--version
output version information and exit
可见,nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上""来将命令同时放入后台运行,也可用"filename 21"来更改缺省的重定向文件名。
nohup 示例
[root@pvcent107 ~]# nohup ping
[1] 3059
nohup: appending output to `nohup.out'
[root@pvcent107 ~]# ps -ef |grep 3059
root 3059 984 0 21:06 pts/3 00:00:00 ping
root 3067 984 0 21:06 pts/3 00:00:00 grep 3059
[root@pvcent107 ~]#
2。setsid
nohup
无疑能通过忽略 HUP 信号来使我们的进程避免中途被中断,但如果我们换个角度思考,如果我们的进程不属于接受 HUP
信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点。让我们先来看一下 setsid
的帮助信息:
SETSID(8) Linux Programmer’s Manual SETSID(8)
NAME
setsid - run a program in a new session
SYNOPSIS
setsid program [ arg ... ]
DESCRIPTION
setsid runs a program in a new session.
可见 setsid 的使用也是非常方便的,也只需在要处理的命令前加上 setsid 即可。
setsid 示例
[root@pvcent107 ~]# setsid ping
[root@pvcent107 ~]# ps -ef |grep
root 31094 1 0 07:28 ? 00:00:00 ping
root 31102 29217 0 07:29 pts/4 00:00:00 grep
[root@pvcent107 ~]#
值得注意的是,上例中我们的进程 ID(PID)为31094,而它的父 ID(PPID)为1(即为 init 进程 ID),并不是当前终端的进程 ID。请将此例与nohup 例中的父 ID 做比较。
3。
这里还有一个关于 subshell 的小技巧。我们知道,将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能,我们现在要讨论的就是其中之一。
当我们将""也放入“()”内之后,我们就会发现所提交的作业并不在作业列表中,也就是说,是无法通过jobs来查看的。让我们来看看为什么这样就能躲过 HUP 信号的影响吧。
subshell 示例
[root@pvcent107 ~]# (ping )
[root@pvcent107 ~]# ps -ef |grep
root 16270 1 0 14:13 pts/4 00:00:00 ping
root 16278 15362 0 14:13 pts/4 00:00:00 grep
[root@pvcent107 ~]#
从上例中可以看出,新提交的进程的父 ID(PPID)为1(init 进程的 PID),并不是当前终端的进程 ID。因此并不属于当前终端的子进程,从而也就不会受到当前终端的 HUP 信号的影响了。
回页首
disown
场景:
我们已经知道,如果事先在命令前加上 nohup 或者 setsid 就可以避免 HUP 信号的影响。但是如果我们未加任何处理就已经提交了命令,该如何补救才能让它避免 HUP 信号的影响呢?
解决方法:
这时想加 nohup 或者 setsid 已经为时已晚,只能通过作业调度和 disown 来解决这个问题了。让我们来看一下 disown 的帮助信息:
disown [-ar] [-h] [jobspec ...]
Without options, each jobspec is removed from the table of
active jobs. If the -h option is given, each jobspec is not
removed from the table, but is marked so that SIGHUP is not
sent to the job if the shell receives a SIGHUP. If no jobspec
is present, and neither the -a nor the -r option is supplied,
the current job is used. If no jobspec is supplied, the -a
option means to remove or mark all jobs; the -r option without
a jobspec argument restricts operation to running jobs. The
return value is 0 unless a jobspec does not specify a valid
job.
可以看出,我们可以用如下方式来达成我们的目的。
灵活运用 CTRL-z
在
我们的日常工作中,我们可以用 CTRL-z 来将当前进程挂起到后台暂停运行,执行一些别的操作,然后再用 fg 来将挂起的进程重新放回前台(也可用
bg
来将挂起的进程放在后台)继续运行。这样我们就可以在一个终端内灵活切换运行多个任务,这一点在调试代码时尤为有用。因为将代码编辑器挂起到后台再重新放
回时,光标定位仍然停留在上次挂起时的位置,避免了重新定位的麻烦。
用disown -h jobspec来使某个作业忽略HUP信号。
用disown -ah 来使所有的作业都忽略HUP信号。
用disown -rh 来使正在运行的作业忽略HUP信号。
需要注意的是,当使用过 disown 之后,会将把目标作业从作业列表中移除,我们将不能再使用jobs来查看它,但是依然能够用ps -ef查找到它。
但是还有一个问题,这种方法的操作对象是作业,如果我们在运行命令时在结尾加了""来使它成为一个作业并在后台运行,那么就万事大吉了,我们可以通过jobs命令来得到所有作业的列表。但是如果并没有把当前命令作为作业来运行,如何才能得到它的作业号呢?答案就是用 CTRL-z(按住Ctrl键的同时按住z键)了!
CTRL-z 的用途就是将当前进程挂起(Suspend),然后我们就可以用jobs命令来查询它的作业号,再用bg jobspec来将它放入后台并继续运行。需要注意的是,如果挂起会影响当前进程的运行结果,请慎用此方法。
disown 示例1(如果提交命令时已经用“”将命令放入后台运行,则可以直接使用“disown”)
[root@pvcent107 build]# cp -r testLargeFile largeFile
[1] 4825
[root@pvcent107 build]# jobs
[1]+ Running cp -i -r testLargeFile largeFile
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile
root 4825 968 1 09:46 pts/4 00:00:00 cp -i -r testLargeFile largeFile
root 4853 968 0 09:46 pts/4 00:00:00 grep largeFile
[root@pvcent107 build]# logout
disown 示例2(如果提交命令时未使用“”将命令放入后台运行,可使用 CTRL-z 和“bg”将其放入后台,再使用“disown”)
[root@pvcent107 build]# cp -r testLargeFile largeFile2
[1]+ Stopped cp -i -r testLargeFile largeFile2
[root@pvcent107 build]# bg %1
[1]+ cp -i -r testLargeFile largeFile2
[root@pvcent107 build]# jobs
[1]+ Running cp -i -r testLargeFile largeFile2
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile2
root 5790 5577 1 10:04 pts/3 00:00:00 cp -i -r testLargeFile largeFile2
root 5824 5577 0 10:05 pts/3 00:00:00 grep largeFile2
[root@pvcent107 build]#
回页首
screen
场景:
我们已经知道了如何让进程免受 HUP 信号的影响,但是如果有大量这种命令需要在稳定的后台里运行,如何避免对每条命令都做这样的操作呢?
解决方法:
此时最方便的方法就是 screen
了。简单的说,screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端。screen
的参数很多,具有很强大的功能,我们在此仅介绍其常用功能以及简要分析一下为什么使用 screen 能够避免 HUP 信号的影响。我们先看一下
screen 的帮助信息:
SCREEN(1) SCREEN(1)
NAME
screen - screen manager with VT100/ANSI terminal emulation
SYNOPSIS
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
DESCRIPTION
Screen is a full-screen window manager that multiplexes a physical
terminal between several processes (typically interactive shells).
Each virtual terminal provides the functions of a DEC VT100 terminal
and, in addition, several control functions from the ISO 6429 (ECMA
48, ANSI X3.64) and ISO 2022 standards (e.g. insert/delete line and
support for multiple character sets). There is a scrollback history
buffer for each virtual terminal and a copy-and-paste mechanism that
allows moving text regions between windows.
使用 screen 很方便,有以下几个常用选项:
用screen -dmS session name来建立一个处于断开模式下的会话(并指定其会话名)。
用screen -list 来列出所有会话。
用screen -r session name来重新连接指定会话。
用快捷键CTRL-a d 来暂时断开当前会话。
screen 示例
[root@pvcent107 ~]# screen -dmS Urumchi
[root@pvcent107 ~]# screen -list
There is a screen on:
12842.Urumchi (Detached)
1 Socket in /tmp/screens/S-root.
[root@pvcent107 ~]# screen -r Urumchi
当我们用“-r”连接到 screen 会话后,我们就可以在这个伪终端里面为所欲为,再也不用担心 HUP 信号会对我们的进程造成影响,也不用给每个命令前都加上“nohup”或者“setsid”了。这是为什么呢?让我来看一下下面两个例子吧。
1. 未使用 screen 时新进程的进程树
[root@pvcent107 ~]# ping
[1] 9499
[root@pvcent107 ~]# pstree -H 9499
init─┬─Xvnc
├─acpid
├─atd
├─2*[sendmail]
├─sshd─┬─sshd───bash───pstree
│ └─sshd───bash───ping
我们可以看出,未使用 screen 时我们所处的 bash 是 sshd 的子进程,当 ssh 断开连接时,HUP 信号自然会影响到它下面的所有子进程(包括我们新建立的 ping 进程)。
2. 使用了 screen 后新进程的进程树
[root@pvcent107 ~]# screen -r Urumchi
[root@pvcent107 ~]# ping
[1] 9488
[root@pvcent107 ~]# pstree -H 9488
init─┬─Xvnc
├─acpid
├─atd
├─screen───bash───ping
├─2*[sendmail]
而使用了 screen 后就不同了,此时 bash 是 screen 的子进程,而 screen 是 init(PID为1)的子进程。那么当 ssh 断开连接时,HUP 信号自然不会影响到 screen 下面的子进程了。
关于注销命令Linux和注销命令可以退出操作系统吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






