Linux入门学习Task2

task2的前两个任务较为简单,第三个任务花的时间较长,主要学习了linux中的程序后台运行和进程管理。
我们写一个py文件,sleep.py它的功能是每隔10秒输出一下当前时间
在这里插入图片描述
我们可以利用:

python3 sleep.py

这个命令让这个程序运行起来,实现输出时间的功能。此时我们引入一个概念,就是我们打开terminal的时候,其实是开启了一个会话(Session),通过这个会话,我们可以使用vim编写文件,使用python3运行程序。在这个会话中,我们也可以使用(ctrl+c)这样的命令来终止一个一个程序的运行。

ctrl-c: ( kill foreground process ) 发送 SIGINT 信号给前台进程组中的所有进程,强制终止程序的执行

ctrl-d: ( Terminate input, or exit shell ) 一个特殊的二进制值,表示 EOF,作用相当于在终端中输入exit后回车
ctrl-/   发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件

ctrl-s   中断控制台输出

ctrl-q  恢复控制台输出

ctrl-l   清屏

至于为什么要终极程序运行,因为linux在程序运行的时候,会停在这个界面在这里插入图片描述
无法执行我们其他的命令或者程序。如果我们想让这个程序运行的同时,执行其他的命令或者程序,我们就需要让这个程序stopped(挂起)或者在后台执行。
其中我们用


ctrl-z: ( suspend foreground process ) 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程,而并

            非结束进程,用户可以使用使用fg/bg操作恢复执行前台或后台的进程。fg命令在前台恢复执行被挂起的进

            程,此时可以使用ctrl-z再次挂起该进程,bg命令在后台恢复执行被挂起的进程,而此时将无法使用ctrl-z

            再次挂起该进程;

            一个比较常用的功能:

                   正在使用vi编辑一个文件时,需要执行shell命令查询一些需要的信息,可以使用ctrl-z挂起vi,等执行                   完shell命令后再使用fg恢复vi继续编辑你的文件(当然,也可以在vi中使用!command方式执行shell命令,

            但是没有该方法方便)。

在这里插入图片描述

这个命令就可以简单的实现进程的挂起,此时进程进入阻塞状态不再运行,如果我们希望把阻塞中的进程放回前台,或者后台运行,就需要用到

fg %进程号 #将程序放回前台运行
bg %进程号 #将程序放在后台运行

其中我们可以通过jobs -l查看进程号
在这里插入图片描述

  • nohup和&:
    对于一个程序,我们希望在运行的时候,就把这个程序直接挂在后台进行运行。为了实现这个功能,其实用nohup和&都可以,但是实际场景中,我们往往同时使用nohup 命令&
    这是因为:

    • 如果使用&后台运行程序:
      会输出到终端
      使用ctrl + c发送SIGINT信号,程序免疫
      关闭session发送SIGHUP信号,程序关闭

    • 使用nohup后台运行程序
      结果会默认输出到outhup.out
      使用ctrl + c发送SIGINT信号,程序关闭
      关闭session发送SIGHUP信号,程序免疫

    • 因此平时线上需要我们同时使用nohup和&同时免疫SIGINT和SIGHUP信号

    如果我们希望改变结果输出的地方,可以使用重新定位控制后台运行程序结果的输出

nohup python3 sleep.py > myout.txt &

Tmux的学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值