常用但是容易忘记的命令
查看java项目的进程
ps -ef | grep java
jps
根据进程查询端口
lsof -i | grep pid
netstat -nap | grep pid
ps -ef | grep pid
根据端口查询进程
lsof -i:port
netstat -nap | grep port
nohup command>/dev/null 2>&1
详解1. 几个基本符号及其含义
/dev/null 表示空设备文件
0 表示
stdin
标准输入1 表示
stdout
标准输出2 表示
stderr
标准错误2. command>a 2>a 与 command>a 2>&1的区别
对于
command>a 2>&1
这条命令,等价于command 1>a 2>&1
可以理解为执行command产生的标准输入重定向到文件a中,标准错误也重定向到文件a中。那么是否就说command 1>a 2>&1
等价于command 1>a 2>a
呢。其实不是,command 1>a 2>&1
与command 1>a 2>a
还是有区别的,区别就在于前者只打开一次文件a,后者会打开文件两次,并导致stdout
被stderr
覆盖。&1
的含义就可以理解为用标准输出的引用,引用的就是重定向标准输出产生打开的a。从IO效率上来讲,command 1>a 2>&1
比command 1>a 2>a
的效率更高。