linux命令补充
1.nohup
nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &
进程号7585
在运行shell脚本时,我们常常会见 "nohup sh test.sh /dev/null 2>&1" ,那么为什么要这么写,直接sh test.sh脚本不行嘛?它的作用究竟是什么?
首先先说nohup,这个简单,no hang up,就是不挂起的意思。
如果你正在运行一个进程,而这个进程可能要运行很久,比如每小时统计个数据,统计个77 49个小时,那么账户可能在这期间就退出了,终端也关闭了,而你的进程不能够结束,那么这个命令【可以让你在退出账户/关闭终端之后继续运行相应的进程】。
该命令的一般形式为: nohup command &
那么 nohup sh test.sh > /dev/null 2>&1 & 又是什么意思呢? 网上很多文章讲解的很深入,但不够通俗易懂,我们就讲点简单的。
在这个语句中,出现了2、1两个数字,要说明的是,& 0表示键盘输入|1表示屏幕输出|2表示错误输出
假设没有&,2>1,2与>结合代表错误重定向,而1代表1个文件,这句话意思是错误输出重定向到一个文件1中,而不代表标准输出;换成2>&1,&与1就代表标准输出了。
这句话的意思就是,后台执行test.sh这个脚本,把标准错误重定向到标准输出,然后扔到/dev/null中去,即:把所有标准输出和错误输出都扔到垃圾桶里。
一点一点来分析,先来看这句
command > out.txt 2>&1 &
command > out.txt 是将command的输出重定向到out.txt文件中,也就是说输出内容不打到屏幕上,而是写入到out.txt文件中。
前文已经讲述 2>&1 是将标准出错(2)重定向到标准输出(1),而这里的标准输出已经重定向到了out.txt文件,所以标准出错也会输出到out.txt文件中。最后一个&,是让该命令在后台执行。
为什么2>&1要写在后面?
command > out.txt 2>&1
首先,command > out.txt将【标准输出】重定向到out.txt中,2>&1将标准错误重定向到【标准输出】,即重定向到out.txt中。最终结果就是标准输出和标准错误都重定向到out.txt中。
那么还有一个问题,为什么要用/dev/null 2>&1,这条命令意思就是将标准输出和标准错误都重定向到/dev/null中,也就是将产生的信息都丢弃。
最后解释command > out.txt 2>file 和 command > out.txt 2>&1 有什么不同。
首先:command > out.txt 2>file 的意思是将command产生的所有stdout和stderr信息都送到out.txt中,out.txt会被打开两次,这样stdout和stderr信息会互相覆盖;
其次: command > out.txt 2>&1 是将stdout直接写入out.txt,stderr【继承】了stdout的管道后,再被送往out.txt,此时out.txt只被打开了一次。
linux命令补充的更多相关文章
- Linux命令补充及基础优化。
1.用户部分 1.1 创建新用户 涉及命令 useradd [root@oldboyedu-50 ~]# useradd oldboy #添加用户 oldboy 1.2 设置密码 [root@oldb ...
- Linux命令(补充)
1.查看已启动服务的端口: netstat -tulnp |grep 80 ss -tulnp|grep 80 2.查看全部已启动的端口:netstat -tulnp 3.查看当前目录:pwd 4.关 ...
- linux命令 - ln - 创建和删除软、硬链接
linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...
- linux命令 - export - 设置环境变量
linux命令 - export - 设置环境变量 功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供 ...
- 软件测试人员必备Linux命令(初、中、高级)
有些技能可以事半功倍,有些命运掌握在我们手中.熟练的掌握和使用这些命令可以提高工作效率,并且结合这些命令对测试过程中遇到的问题进行一些初步的定位. 1 目录与文件操作1.1 ls(初级)使用权限:所有 ...
- Linux命令行与命令
Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...
- 运维工程师必会的109个Linux命令
运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...
- 简化LINUX的命令输入 简化linux命令
在LINUX中,有很多常用的命令,常用的命令我们可以熟练的记忆,但是对于不经常使用的命令恐怕是需要翻阅手册了,但是我们可以简化这些命令的输入来达到简便记忆的效果. 这里以BSH为例: 编辑/etc/b ...
- 嵌入式开发应该掌握的一些Linux命令
Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...
- Linux命令总结(转载)
转子:http://www.cnblogs.com/CGDeveloper/archive/2011/05/27/2060009.html 昨天看了一个教程,关于Linux命令的,本来以为当是复习随便 ...
随机推荐
- conda 备份与还原环境
文章目录 1.创建环境2.激活环境3.安装包(1)手动一个一个安装(2)批量安装4.卸载包(1)手动一个一个卸载(2)批量卸载5.查看当前环境中所有已安装的包6.退出当前环境方法1:激活base环境即 ...
- react 脚手架搭建项目 报错C:\Program Files\nodejs\node_cache\_logs\2022-12-28T14_38_28_286Z-debug-0.log
报错内容: 解决方法: 第一步: 删除C:\Program Files\nodejs\node_cache\_logs 目录下所有文件 第二步:切换镜像 npm config set registry ...
- C#动态创建对象和其属性
dynamic contact = new ExpandoObject(); contact.Name = "Patrick Hines"; contact.Phone = &qu ...
- 区分CommonJs/ES6 Module/AMD/CMD
模块加载方式 CommonJs ES6 Module AMD CMD UMD Commonjs和ES6 Module的区别 总结 1.CommonJS CommonJS 是一个项目,其目标是为 Jav ...
- 打卡node day01--基础和fs内置模块
一, 检查 node 版本 node -v 或 node --version 二,检查安装过的node 版本(nvm node 版本管理工具 安装链接 参考百度) nvm ls 三,切换node 版 ...
- 统计学习导论之R语言应用(二):R语言基础
统计学习导论(ISLR) 参考资料 The Elements of Statistical Learning An Introduction to Statistical Learning 统计学习导 ...
- 【C学习笔记】day1-2 输出乘法口诀表
#include<stdio.h> int main() { for (int m = 1; m <= 9; m++) for (int n = 1; n <= m; n++) ...
- WCF部署HTTP错误404.3
错误:WCF部署HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加MIME映射. 解决步骤如下: 控制面板-& ...
- MacOS如何使用语音输入
Siri是Apple旗下强大的语音助手,而Siri的语音输入是必不可少的的存在.目前的MacOS中都有语音听写功能,可以让它把我们的语音转化成为文字.如果你此时不想打字,或是不方便打字的情况下,这个功 ...
- Liunx 日志检索 grep -v -a awk
grep -5 'parttern' inputfile.log //打印匹配行的前后5行 grep -C 5 'parttern' inputfile.log //打印匹配行的前后5行 gr ...