when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
进程、僵尸进程、孤儿进程、进程组、前台进程组、后台进程组、孤儿进程组、会话
由于不同的 shell 对使用管道线时创建子进程的顺序不同,故本族谱选用 bash 为例,它是支持作业控制的 shell 的典型代表
文中用到的缩写:
因为探究断开 ssh 继续运行命令而收获的一个小工具,在此记录下
在用 ssh 远程登录到 Linux 服务器后,经常运行一些需要很长时间才能完成的任务,如果为一个这样的任务开一个远程终端窗口,因为它们执行的时间太长,且必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,就半途而废了
为什么 ssh 断开后运行的命令会退出呢?
明确元凶:
SIGHUP 信号
简单的来说:
因为所有进程都得有个父进程。当 ssh 到一个服务器上时,打开的 shell 就是所有执行命令的父进程,当断开 ssh 连接后,在 ssh 中运行命令的父进程就没了。如果处理不当,这些进程就会收到 SIGTERM 信号,全被干掉了
起初不知 docker 滋味,一尝才知其好滋味,在 python 项目上来说,其实跟 pipenv 也是差不了太多。最初使用 docker 的目的其实是用 flask run 的方式部署 flask 项目,不过在 flask 的官方文档中发现了部署一章节,其实也不用这么麻烦了,不过在多个项目同时隔离运行上感觉还是有点用处的
在 mac 上学习使用 docker 时的一个小插曲
第一步,安装 docker,因为是在 mac 上,所以能用 brew 管理软件就想着尽量都用它进行管理,方便后续升级等等,在这个找安装资料的过程中,发现了 brew cask,并且很多资料都用了它,好巧不巧,直接 brew install docker 以后竟然无法运行 docker,这个问题后面找到方法了再解决
那么 brew 和 brew cask 有什么区别呢?
在这个音乐版权纷乱的时代,想听一首歌着实不容易,不是从这个 app 找,就是从那个 app 试听,想要下载还得收费,收费不可怕,可怕的是开了会员还有其他的额外收费项目,于是就想在自己的住处搭建一个本地的音乐播放服务,正好手边有个 debian,鉴于工作用的都是 mac,正好把它当成自己的服务端。可以播放服务端音乐的软件数不胜数,而 smb 往往是其中一个连接服务端的方式
在 debian 上或者说在 Linux 上,比较出名的就是 Samba 了,接下来就是见证 Samba 的时刻
当下只要有个 Wi-Fi,你就有了全世界。但现在的 Wi-Fi 尤其是公共 Wi-Fi,大多不会是靠着善心发射的,基本都是各怀鬼胎,每张网卡都对应唯一的 MAC 地址,通过它,Wi-Fi 背后的 “阴谋家们” 可以追踪你的设备顺便也追踪了你
下面就来看一下避免被追踪的一个思路,因为固定的 MAC 地址能被轻易地追踪到,所以应该定时进行更换,随机的 MAC 地址是一个好的方法,由于 MAC 地址一般只在局域网内使用,因此随机的 MAC 地址也不大会产生冲突。至于实现,在 debian 上可以直接用 NetworkManager 自带的功能实现
the only present love demands is love