经验记录
linux相关
kill多个进程
ps -ef | grep -v grep | grep tcp | cut -c 9-15 | xargs kill
ps -ef 列出所有进程,grep -v grep 去除和grep相关进程,grep xxx查找带有xxx字符串的进程,cut -c 11-15取出每行11-15,刚好是进程id,xargs kill,使用之前的内容为参数,由kill来执行。
映射端口到本地(jupyter)
服务器上使用jupyter notebook后,将可以在服务器上通过localhost:port访问代码。但是本地上确访问不了服务器的代码。通过端口映射将服务器端口映射到本地参考文章:
1 | ssh -p 3090 -NfL 10086:202.115.17.239:10086 ming.xing@202.115.17.239 |
-p 指定端口,是指访问服务器的端口,平时访问服务器时也必须使用ip+port(202.115.17.239:3090)访问,此处也必须指明端口。否则都找不到服务器。(与后处的10086端口有区别,后面的10086指服务器系统里的内部端口)
-L 转发本地端口,-N,不发送命令,只建立连接,-f,将ssh放到后台。
后面是本地端口号 + 远程地址ip+端口号。
最后是服务器username + 地址
为了防止端口不稳定导致断连,使用autossh进行连接,
1 | # autossh usage |
-M表示自动重连,
启动自动加载,
Systemd其实是Linux系统用来管理系统的一个程序,用来代替原来的init进程(用来管理启动系统其它的服务进程),但wsl只有init。
新建一个脚本,存放开机自启的命令,然后将路径添加到**/etc/rc.local文件下,(两个文件都需要给执行权限**)
ttj@ttj:~/tools$ cat /etc/rc.local
/bin/bash /home/ttj/tools/auto_start.sh
在服务器运行nohup jupyter notebook(nohup: no hang up)即可保持后台运行。