如何使程序后台(关闭终端)运行
例如我要开启一个./test.go
启动程序之后在后台运行
1. 使用nohup
nohup ./test.go > ./log 2>&1 &
- 解释:
nohup
就是不挂起的意思将test.go
直接放在后台运行,并把终端输出存放在当前目录下的log
文件中。
2. 使用setsid
setsid ./test.go > ./log 2>&1 &
上面的演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:disown -h %1
Linux/Mac下批量替换文件中的字符串
MAC下批量替换
方法一:
grep -rl "a" ./testDir | xargs sed -i "" 's/a/-replace-/g'
解释说明:
grep -rl "a" ./testDir
- 在当前路径下的
testDir
文件夹中匹配所有
文件内容中存在字符串a
的文件。 xargs sed -i "" 's/a/-replace-/g'
- 将匹配到的文件
内容中的字符串a
替换成-replace-
方法二:
使用
rpl
工具替换。- 这里我使用的是
homebrew
安装,如果没有安装homebrew
可以先行百度或者谷歌。
- 这里我使用的是
注意:如果是Linux
系统也可以使用apt
安装
- 安装rpl
brew install rpl
- 执行替换命令(将当前目录下所有文件内容中存在
a
字符串的替换成b
)
rpl "a" "b" ./*
Linux下的批量替换
- Linux用户需要注意,
OSX
上的sed
和类似ubuntu
这种Linux
上的sed
是不同的, 要求在sed -i
后面跟一个字符串, 用来备份。所以如果是Liux
可以写成下面这样
grep -rl "a" ./testDir | xargs sed -i 's/a/-replace-/g'
生成SSH公钥
ssh-keygen -t rsa -C "your_email@youremail.com"