有时候在终端敲了个命令,例如备份还原mysql数据,结果突然发现这玩意完成要好久,这时候就很尴尬,如果断开了连接,命令就退出了,那么下面的命令就很实用。

暂停任务

1
2
3
4
5
6
7
# 这里运行了一个mysql导入命令,就是想转后台运行的命令,这里按了ctrl+z, 亲测mac上也是control+z
mysql -uroot -p'ZAQ!2wsx'< dbdump.db
mysql: [Warning] Using a password on the command line interface can be insecure.

^Z
[1]+ Stopped mysql -uroot -p'ZAQ!2wsx' < dbdump.db

任务转后台

1
2
3
4
5
6
7
# jobs命令查看暂停的任务
I have no name!@mysql-secondary-0:/bitnami/mysql$ jobs
[1]+ Stopped mysql -uroot -p'ZAQ!2wsx' < dbdump.db

# bg 命令将任务在后台启动
I have no name!@mysql-secondary-0:/bitnami/mysql$ bg %1
[1]+ mysql -uroot -p'ZAQ!2wsx' < dbdump.db &

任务脱离窗口

通过bg将任务在后台运行,但是此时只是当前打开的终端可以继续其他前台操作命令,后台的任务在窗口端口时同样会终止,用disown命令将任务脱离终端

1
disown %1