文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Linux】Linux系统后台运行脚本方法

2023-08-22 07:22

关注

前言

我们使用Linux搭建服务器之后,经常需要在服务器上运行一些脚本,例如定期检查网络连通性并保存出错日志等。在写好批处理文件(.sh)文件之后,如果是Ubuntu系统,直接登陆上去之后单独启动一个终端并运行.sh文件就可以了。但是如果是没有GUI的Cent OS的话,在我们断开连接、关闭终端之后,终端上所运行的脚本也会随之终止。
因此,需要使用特定的命令,让脚本即使在终端关闭后也能保持在后台运行。下文所介绍的方法,通用于Ubuntu和Cent OS。


正文

启动脚本

使用命令 nohup sh XXX.sh &>/dev/null &
在这里插入图片描述
执行成功,会返回该进程的id。此时即使关闭终端,该脚本依旧在后台运行。

详解:
①sh XXX.sh为执行该脚本。
②在命令末尾加上&符号,表示将该命令放到后台运行。但此时该命令的标准输出、错误输出仍在前台。
③>/dev/null 表示将输出重定向到/dev/null中。/dev/null是一个特殊文件,会将传入其中的数据全部丢弃,即删除掉。

④nohup 表示在终端关闭后,此命令不接受挂起信号,仍保持运行。

查看正在运行的脚本

使用命令 ps -ef |grep XXX.sh
在这里插入图片描述
若该脚本正在运行中,此处会有2条进程信息:第一条为脚本进程,第二条为此命令本身。每行的第二个数据(如3403和3431)即为该进程的id。

详解:
①ps(process status) 默认只会显示运行在当前控制台下,属于当前用户的进程。
②-e 等同于-A,显示所有进程。
③-f 显示完整格式的输出
④| 将左侧的输出结果,作为右侧的输入
⑤grep(Global search REgular expression and Print out the line),文本搜索工具
⑥XXX.sh 需要搜索的文本

结束脚本运行

使用命令 kill -15 [进程id]
在这里插入图片描述
详解:
①kill -15 终止进程。若无法正常终止,可以改用kill -9 强制删除进程。
②[进程id] 在脚本启动时自动生成,也可通过ps命令查看。

来源地址:https://blog.csdn.net/AsrielMao/article/details/129862518

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯