首页 > 系统相关 >Linux后台运行

Linux后台运行

时间:2023-01-15 14:55:05浏览次数:32  
标签:Ctrl screen runoob 会话 Linux 后台 进程 运行

title: Linux后台运行
date: 2022-09-03 12:51:35
tags:
    - Linux
categories:
            - Linux

如何后台运行脚本

方法1:nohup
在执行命令前面加nohup但是CTRL+C就会失效
语法格式:

nohup Command [ Arg … ] [ & ]

参数说明:
Command:要执行的命令。

Arg:一些参数,可以指定输出文件。

&:让命令在后台执行,终端退出后命令仍旧执行。

nohup ping www.baidu.com &

Linux.png
这样就在后台挂上了
查看进程ping

ps -aux | grep "进程名字也可以是文件"

上面看到的是36640 进程号

ps -aux | grep "文件名"
  • a : 显示所有程序
  • u : 以用户为主的格式来显示
  • x : 显示所有程序,不区分终端机
    杀死进程用kill -9 加进程号
kill -9 36640

Linux.png
可以看到已杀死
以下命令在后台执行 root 目录下的 runoob.sh 脚本,并重定向输入到 runoob.log 文件:

nohup /root/runoob.sh > runoob.log 2>&1 &

2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。

  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)

方法2:setsid
查看进程可以看到分支

pstree

它可以把自己换成一个父进程

方法3:screen

安装screen:

安装screen
#centos系统安装命令
yun install screen
#Debian/Ubuntu安装命令
apt-get install screen

他是一个终端模拟器
创建一个进程

screen -dmS "进程名字自己取"

查看会话

screen -list

连接会话

screen -r "会话名称"
查看进程
ps -ef | grep [名字]

kill -9 [PID] //杀死对应PID的进程

1.启动新的screen会话

#创建名为为sillgirl

screen -S sillgril
#然后就可以在里面操作了一个新的终端
./sillgril

2.退出当前screen会话:

按Ctrl+a 再按 d, 即可退出screen, 此时程序仍在后台执行

3.查看当前已有的screen会话:

输入:screen -ls

参考:

⾸先⽤screen -ls查看你想要选的screen:
如果他的状态是Detached的,我们需要输⼊
screen -r <screen的pid>
来进⼊这个screen ,
或者输入
screen -rd <screen的名称>
如果他的状态是Attached的,我们就要输⼊
screen -d <screen的pid>
来使他”Dettached”,
然后再输⼊s
creen -r <screen的pid>
来进⼊这个screen。(必须先detached,否则是进不去的)

4.窗口操作:

Ctrl+a+w: 展示当前会话中的所有窗口;

Ctrl+a+c: 创建新窗口;

Ctrl+a+n: 切换至下一个窗口;

Ctrl+a+p: 切换至上一个窗口;

Ctrl+a+num: 切换至编号为num的窗口;

Ctrl+a+k: 杀死当前窗口;

5. 删除某个会话:

screen -S your_screen_name -X quit
或者
screen -X -S <screen的id> quit

按CTRL+A+D 退出screen  后台还是在运行

标签:Ctrl,screen,runoob,会话,Linux,后台,进程,运行
From: https://www.cnblogs.com/superwinner/p/17053496.html

相关文章

  • 和菜鸟一起学linux之常见错误的解决和常用命令
    1、错误提示:make:警告:检测到时钟错误。您的创建可能是不完整的。   解决方法:当前编译目录下,命令行输入:find.-typef-exectouch{}\;2、SSH生成密钥:ssh-keygen;SSH......
  • 初探linux子系统集之写在前言
                           ......
  • 和菜鸟一起学linux内核之初始化init篇
    注:以下大部分内容摘自linux内核编程入门篇和linux内核完全注释      初始化init下只有一个main函数。      首先利用setup.s程序取得的程序参数设置系统的根......
  • python—web自动化(3)—验证码处理(商城-后台添加商品,小案例1)
    案例需求登录后台管理中心-点击商品管理点击‘添加商品’输入商品名称选择商品分类选择商品品牌点击提交按钮 技术点:验证码处理思路  验证码处理......
  • linux/windows查看端口被占用情况
    linux下查看端口被占用情况1.可以通过"~$netstat-anp"来查看哪些端口被打开。(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,2.然后可以通过"~$lsof-i:$POR......
  • 查看linux重启时间方法
    who-b lastreboot last-x linuxlast命令详解功能说明:列出目前与过去登入系统的用户相关信息。语法:last[-adRx][-f<记录文件>][-n<显示列......
  • expect远程ssh连接linux终端
    前提条件,需要安装expect,安装方法请参考​​http://tongzidane.blog.163.com/blog/static/5816589220118161127811/​​#!/usr/bin/expect #设置超时时间为60秒 set......
  • Linux下JDK和Tomcat安装
    下载地址​​​http://www.oracle.com/technetwork/java/javase/downloads/index.html​​​http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-......
  • linux的时间属性
    最近写打包备份文件log的命令,研究了一下时间属性的的含义。做个记录。Linux系统文件有三个主要的时间属性,分别是ctime(changetime,而不是createtime)atime(accessti......
  • linux虚拟机新增磁盘识别方法
    1.viclient登录到vcenter或ESXi,为虚拟机添加一块磁盘在线为虚拟机添加磁盘。2.登录进虚拟机linux系统中执行以下命令,识别新增加的硬盘#echo"---">/sys/clas......