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