首页 > 系统相关 >进程运行与程序流

进程运行与程序流

时间:2023-07-20 14:46:15浏览次数:32  
标签:后台 输出 yuchao 程序 命令 nohup linux 进程 运行

进程运行

程序运行有2种

前台运行
程序运行在当前的终端,所有的信息都输出到屏幕上,占用你的终端,你也无法继续使用;如果终端异常关闭,导致程序会自动退出
后台运行
不会占用你的终端,程序在系统后台跑着,你该干啥干啥,终端关了,程序也继续运行。

后台运行命令

command &   # 未启动的command放入后台去运行
jobs        # 查看后台进程列表
ctrl + z    # 暂停进程
bg 1        # 程序放入后台运行,和 & 一样
fg 1        # 将后台任务放入前台执行

nohup命令

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下

如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out 文件中。

一般和 & 后台符,结合使用。nohup不加&后台符的话还是前台运行

语法nohup command 选项 &

Command:要执行的命令。

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

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

理解linux的数据流

执行linux命令时,linux默认为用户进程提供了3种数据流

stdin
	标准输入:0
	一般是键盘输入数据
	比如cat命令等待用户输入
stdout
	标准输出:1
	程序执行结果,输出到终端
stderr
	标准错误输出:2
	程序执行结果,输出到终端
标准输入
cat 接收键盘的输入数据,然后打印到终端,直到ctrl +d 结束输入
[root@yuchao-tx-server ~]# cat
hello
hello

标准输出
[root@yuchao-linux01 ~]# ls /opt/
HelloWorld.class  HelloWorld.java  jdk  jdk1.8.0_221  jdk-8u221-linux-x64.tar.gz  passwd

标准错误输出
[root@yuchao-linux01 ~]# ls /opppp > stderr.txt
ls: cannot access /opppp: No such file or directory

输出重定向

输出重定向是指把命令(或可执行程序)的标准输出标准错误输出重新定向到指定文件中。

这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。

使用 “ > ”符号,将标准输出重定向到文件中。形式为:命令>文件名
使用“ >> ”符号,将标准输出结果追加到指定文件后面。形式为:命令>>文件名
使用“ 2> ”符号,将标准错误输出重定向到文件中。形式为:命令 2> 文件名
使用“ 2>> ”符号,将标准错误输出追加到指定文件后面。形式为:命令 2>>文件名
使用“ 2>&1 ”符号或“ &> ”符号,将把标准错误输出stderr重定向到标准输出stdout
使用“ >/dev/null ”符号,将命令执行结果重定向到空设备中,也就是不显示任何信息。

2>&1 解释

将stderr重定向到stdout,就可以防止程序运行出错,导致程序异常
写法1
[root@yuchao-tx-server ~]# echhhho '超哥带你学linux' &>> test.log
写法2
[root@yuchao-tx-server ~]# echhhho '超哥带你学linux' >> test.log 2>&1    (写法2使用的人更多)

黑洞文件,空设备文件,也同样遵循,stdout、stderr的语法
[root@yuchao-tx-server ~]# echo '超哥带你学linux' &>>  /dev/null
[root@yuchao-tx-server ~]# echhhhho '超哥带你学linux' &>>  /dev/null

标签:后台,输出,yuchao,程序,命令,nohup,linux,进程,运行
From: https://www.cnblogs.com/chunjeh/p/17568364.html

相关文章

  • 有cookie的情况下爬虫如何运行
    importrequestsimportreimporttimeimporthashlibimportthreadingimportjsonfromlxmlimportetreefrompymysql.convertersimportescape_stringfromfake_useragentimportUserAgentfrommylib.moduleimport*headers={'user-agent':......
  • Linux 下运行.NET 6 7 8 程序遇到的两个问题
    一、/lib64/libstdc++.so.6:version`GLIBCXX_3.4.21‘notfound的解决办法1.下载libstdc++.so.6.0.21文件注意区分x84_64和aarch64架构,下载对应的版本2.把libstdc++.so.6.0.21复制到/lib64/libstdc++.so.6.0.213.运行命令exportLD_PRELOAD="/lib64/libstdc++.s......
  • linux怎么让程序开机自动启动
    https://zhidao.baidu.com/question/1609108067350090187.html目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。......
  • 1-23 编写一个删除 C 语言程序中所有的注释语句
    ArchlinuxGCC13.1.1 202304292023-07-2013:34:31星期四 点击查看代码#include<stdio.h>#defineTRUE1#defineFALSE0intmain(){inti,j,sign;chartmp[100]="";FILE*fp;FILE*fp_store;//另创建文件,保存修改i=j=0......
  • mysql查询正在执行的进程
    如何查询正在执行的MySQL进程1.流程概述查询正在执行的MySQL进程可以通过查看MySQL的信息模式(information_schema)来实现。主要的步骤包括连接到MySQL数据库、选择相关的数据库、执行查询语句,最后获取结果。下面是整个流程的步骤表格:步骤描述1连接到MySQL数据库2......
  • Taro 小程序扫二维码跳转到指定页面
    小程序扫码登录,需要在微信小程序开发管理->开发设置->扫普通链接二维码打开小程序去添加对应的链接,然后根据链接动态动态生成二维码,然后使用微信扫码的即可跳转到小程序指定页面,具体添加链接方式,请自行百度这里主要介绍两个东西1.Taro小程序下根据链接动态生成二维码2.扫码跳......
  • win nginx 用include管理多个配置文件,如部署多个web前端程序 配置host域名访问
    当要部署多个web程序时,先将web程序分文件夹到html, 1在conf目录下新建conf-test/test_web.conf内容为:server{ listen80; server_namewebone.com; location/{ roothtml/web1; indexindex.htmlindex.htm; }}server{ listen80; serve......
  • 使用mpx创建小程序并使用tailwind
    #cli创建项目mpxcreatempx-project#切换到新的mpx-project中cdmpx-project把 @mpxjs/webpack-plugin 版本改为 2.8.32#安装包yarn执行:yarnadd-Dtailwindcssweapp-tailwindcss-webpack-pluginpostcss-rem-to-responsive-pixel安装 weapp-tailwindcss#......
  • 小程序报错:【代码依赖分析】告警信息修改代码,或关闭【过滤无依赖文件】功能
    小程序报错:【代码依赖分析】告警信息修改代码,或关闭【过滤无依赖文件】功能控制台报如下问题“已被代码依赖分析忽略,无法被其他模块引用。你可根据控制台中的【代码依赖分析】告警信息修改代码,或关闭【过滤无依赖文件】功能”,也就是将一些需要的依赖被分析为无依赖文件过滤掉了,导......
  • Taro 小程序自定义热门城市选择页
    先上一下大致效果由于业务需要一个单独全国城市筛选页面,然后就网上找了一波,发现没有特别合适的,于是就手动撸一个,需要当前页面具备以下功能:1.定位当前所在城市2.展示热门城市信息3.清空当前城市选择4.支持本地快捷搜索5.列表数据支持分页展示(主要是城市数据量太大,页面渲染......