2019-09-07周报
<h3>堡垒机跑脚本命令</h3>
<p>不直接在项目中跑artisan,需要进pod里面操作
进k8s:
sudo /usr/local/bin/kubectl get pods -n heywoods-app -o wide
sudo /usr/local/bin/kubectl exec -it shoppingadminv2-template-deployment-7f7fbd5457-pcxtl sh -n heywoods-app</p>
<p>pod和容器的区别
总结,pod是k8s的最小单元,容器包含在pod中,一个pod中有一个pause容器和若干个业务容器,而容器就是单独的一个容器,简而言之,pod是一组容器,而容器单指一个容器。</p>
<h3>ps aux 和ps -aux 和 ps -ef的区别</h3>
<p>ps aux 是用BSD的格式来显示的。
ps aux应用的格式比ps-ef广泛,多出来的格式有:
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟内存量(KB)
RSS //该进程占用的固定内存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
"ps -aux"不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在,ps的将会解释为"ps aux",而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。 </p>
<p>ps -ef
UID //用户ID,但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数</p>
<h3>唯一性和锁</h3>
<p>uniqid()基于以微秒计的当前时间,生成一个唯一的 ID。
setnx()做redis锁,第一次进来先写进去,然后用expire()做个过期时间,如果期间再进来的话就写入失败,从而达到锁的功能
$lock = $this->redis->setnv(RedisKey::ACTIVITY_POST_DATA_LOCK . $sessionData['uid'],1);
//写入成功返回true
if(!lock){
//写入失败情况
return Helper::successResponse('重复提交', [], 1);
}
$this->redis->expire(RedisKey::ACTIVITY_POST_DATA_LOCK . $sessionData['uid'],3);
<a href="https://www.cnblogs.com/guolei2570/p/8810536.html">https://www.cnblogs.com/guolei2570/p/8810536.html</a> 进程</p>