如何在 Ubuntu 云服务器运行 sh 脚本的时候退出到可以输入命令的模式

2021-05-26 17:20:38 +08:00
 TwoSetViolin

本人 Linux 小白 执行一个自动化部署脚本的时候,发现 mysql 下载服务只有几 Kb 每秒, 想要强制暂停该脚本,把 mysql 的安装包下载后再自己上传上去, 我已经找到强制暂停的命令, 但是不知道怎么从脚本正在运行的情况下跳到可以有光标输入的情况

这是找到强制停止脚本的命令:

注意:如果直接用 ps (( Process Status ))命令,会显示所有进程的状态,通常结合 grep 命令查看某进程的状态。

先用 ps 查找进程,然后用 kill 杀掉

2088 次点击
所在节点    Linux
13 条回复
cwjwgg
2021-05-26 17:28:01 +08:00
Ctrl+C 不行么
AoEiuV020
2021-05-26 17:31:22 +08:00
没有这么高端的操作,只能连程序带脚本整个干掉,再改脚本,
dier
2021-05-26 17:40:55 +08:00
Ctrl+C 可以结束当前正在执行的操作,Ctrl+Z 可以把当前的操作临时暂时放到后台,然后通过 jobs 查看后台有哪些操作,使用 fg 编号 就能恢复之前暂停的操作
killva4624
2021-05-26 17:46:08 +08:00
浅显一点说吧,有一些说法不太对,但基本是这么回事:
你连接到服务器上执行命令时,一个连接代表一个会话,执行脚本的时候,默认会在你的会话前台运行,这个时候你就不能输入其他东西了。
所以有两个方法:
- 如楼上所说的,把脚本放到后台运行,过一段时间再移回前台查看。
- 再新建一个会话连接到服务器上,相当于你新开了一个命令窗口。
PhoenixZhang
2021-05-26 18:14:01 +08:00
装个 screen,开个 session
想切到后台运行就 ctrl+a,再按 D 就切回去了
回到 session 用 screen -r 会话名
hulala1021
2021-05-26 18:41:05 +08:00
用 screen
或者 tmux
kasusa
2021-05-26 18:44:44 +08:00
再开一个 ssh 链接。 一般我喜欢用 screen,这个在开 mc 服务器的时候很常用
TwoSetViolin
2021-05-26 18:59:26 +08:00
抱歉,我下课去吃饭回来发现电脑在更新 windows,远程连接的软件也被关了,,重启电脑后连云服务器就重新回到最开始的页面,并没有看到之前一大串正在下载 mysql 的进度条,搜索进程发现 sh 脚本还在后台跑,不过现在已经可以强制停止了,谢谢,之后我再研究一下 screen 的用法
trlove
2021-05-26 20:11:08 +08:00
sh 文件 你可以执行的时候就后台运行 nohup ./xxx.sh & 可以指定 sh 脚本后台运行 默认的日志打印到当前目录下的 nohup 文件里面 你也可以直接指定一个特定的文件去输出。 命令执行完 回到正常光标状态 。另外 ps 管道查进程太慢了 直接 lsof:端口号 可以直接出来进程 pid 然后再去 kill
CallMeReznov
2021-05-26 20:47:19 +08:00
screen or jobs
simonnie
2021-05-26 21:53:31 +08:00
tmux
samin
2021-05-26 22:00:01 +08:00
@trlove 我想到的也是这种 , 服务端启动 jar 服务就是这种方式
james122333
2021-05-30 14:56:47 +08:00
这需求可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/779374

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX