在 shell 中模拟 ctrl+.. 操作

想给已存在的 screen 会话发送指令(不打开会话窗口),之前手动进行终止程序操作是使用 ctrl + c,但是使用指令终止程序的话试了几种方法都不是很理想。

经过了一番网上冲浪,才找到了下面这篇文章,在指令中用 \003 代替了 Ctrl-C

一般来说,在linux shell中
ctrl-c 是发送 SIGINT 信号,
ctrl-z 是发送 SIGSTOP信号
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF

具体的可以通过stty -a来查看系统配置,如

[admin@user1 ~]$ stty -a

speed 38400 baud; rows 66; columns 252; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

常见的几个:
kill -SIGSTOP $pid # 相当于 ctrl-z
kill -SIGCONT $pid # 相当于 fg
kill -SIGINT $pid # 相当于 ctrl-c

在脚本实现可以用
echo -e ‘\00X’ 或 echo $’\00X’ #x表示十六进制数
如:
Ctrl-A 用 \001
Ctrl-B 用 \002
Ctrl-C 用 \003
Ctrl-D 用 \004
… …
Ctrl-Z 用 \032

如,要表示Ctrl-D,可以用
echo -e ‘\004’

转自:http://www.360doc.com/showweb/0/0/913105983.aspx

### 回答1: Shell脚本可以用来自动化执行一系列命令,从而达到简化工作流程的目的。它可以执行各种文本处理、文件操作、系统管理等任务。通过Shell脚本,用户可以轻松地执行一组特定的命令,并减少手动重复性工作的时间和精力。Shell脚本Linux和Unix等操作系统中广泛使用。 ### 回答2: Shell脚本是一种用于自动化操作系统任务的脚本语言。它可以通过一系列的命令和控制结构,实现对计算机的控制和自动化。 首先,Shell脚本可以用来管理操作系统任务。通过编脚本,我们可以批量执行一系列的命令和操作,从而提高操作效率和准确性。比如,我们可以编一个脚本来定期备份文件、清理系统缓存、安装软件等。 其次,Shell脚本可以用来处理文本数据。Shell脚本提供了一系列文本处理的命令和工具,可以实现对文本文件的查找、替换、截取等操作。我们可以利用这些功能来处理日志文件、配置文件等文本数据。 此外,Shell脚本还可以用于编系统管理工具。我们可以用Shell脚本一些自定义的管理工具,让系统管理员能够更方便地管理和监控系统。比如,我们可以编一个脚本来统计服务器的负载、检测系统异常等。 最后,Shell脚本还提供了很多系统内置变量和函数,可以方便地获取系统信息和执行系统命令。我们可以利用这些功能来编更灵活和智能的脚本。比如,我们可以编一个脚本根据系统负载自动调度任务,或者编一个脚本自动将服务器的状态信息发送到管理员的邮箱。 总之,Shell脚本的作用是实现对操作系统的自动化控制和任务管理、对文本数据的处理、编系统管理工具以及编更智能和灵活的脚本。通过编Shell脚本,我们可以提高系统管理的效率和准确性,并且能够适应不同的需求和情境。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值