返回介绍

Hack-20 让命令在后台执行

发布于 2025-03-08 17:38:20 字数 2419 浏览 0 评论 0 收藏 0

让命令在后台执行

后台执行命令有很多方法,比如:

1. 使用 &

在你想要后台执行的命令最后加上一个 & 就能让命令在后台运行了。

➤ htop &
[1] 12781
➤ ps
  PID TTY          TIME CMD
12554 pts/5    00:00:00 bash
12781 pts/5    00:00:00 htop
12782 pts/5    00:00:00 ps
➤

怎样把再它调出来呢? 用 fg 命令. 还可以用 jobs 命令查看当前终端上运行的后台程序。

2.使用 nohup

nohup - run a command immune to hangups, with output to a non-tty

这是正统的后台运行。

nohup ./my-shell-script.sh &

默认程序的输出内容会保存到当前目录下的 nohup.out 文件中,所以一般运行的时候都是这样(如果你不需要查看运行结果的话):

nohup ./my-shell-script.sh &> /dev/null &

3.使用 screen

这也是后台运行常用的工具,比起 nohup , 它可以随时随地查看运行情况,并且进行操作,更多关于 screen 的介绍请看: Linux 技巧:使用 screen 管理你的远程会话

其实还有一个比 screen 更酷炫的软件,叫 tmux , 有兴趣可以去了解下哦~

4. 使用 at

这真是巧妙,作者能想到这一点我也是佩服, at 一般都是作为计划任务来使用的,但是这样也能起到后台运行的效果。

再明天上午十点执行备份脚本: at -f backup.sh 10 am tomorrow

或者现在就执行: at -f backup.sh now # -f 的意思是执行后面的文件

查看任务队列用 atq

删除任务可以用 adrm [number_of_task] 或者 ad -d [number_of_task]

5.使用 watch

这个说起来就有点牵强了,毕竟 watch 不是干这个的呀。

原作说的是持续运行某条命令,凑活写上吧..

每隔五秒执行一次 df -h , 如果不加 -n 5 的话,默认是两秒, watch -n 5 'df -h'

扩展阅读

本书简介:

  • Linux 进阶技巧
  • 巧妙的命令组合
  • Bash 某些技巧
  • 一共一百零一个(包括充数的)
  • 最后有个奖励章(额外技巧)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文