Linux中 2>&1 是什么

标准输入输出

Linux 中三种标准输入输出:

  • STDIN:标准输入,默认从键盘读取信息
  • STDOUT:标准输出,默认将输出结果输出至终端
  • STDERR:标准的错误信息,默认也会显示在终端上

由于STDOUTSTDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT2表示STDERR0表示:STDIN

案例分析

/tmp/test.sh > /tmp/test.log 2>&1,这里2>&1的意思就是将标准错误也输出到标准输出当中。

Composer 安装私有包

项目背景 我司一个项目这里简称:神居,分为C端(「代号:mooncake」),“平台端”「代号:internal」,B端「代号:agent」,

CPU 上下文切换是什么意思?

CPU 上下文

Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流 分配给它们,每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,而这些都是由系统事先帮它设置在 CPU 寄存器和程序计数器(Program Counter,PC)

CPU 寄存器:是 CPU 内置的容量小、但速度极快的内存 程序计数器:是用来存储 CPU 正在执行的指令位置、或者即将执行的下一条指令位置。

CPU 在运行任何任务前,必须的依赖环境也即是CPU 上下文。

CPU 上下文切换

CPU 上下文切换,就 是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加 载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置, 运行新任务。

根据任务的不同,CPU 上下文切换又可分为,进程上下文切换、线程上下文切换、中断上下文切换。

Docker 搭建 Gitlab 服务

场景 公司使用的bitbucket提供的git远程仓库,为什么选择他历史原因喽,回想第一天克隆一个1G+的repo等待了一天,这个痛苦啊。最近

Laravel Task Scheduling Preventing Task Overlaps

问题

一个Task没有允许结束,另一个Task又起了,这固然会造成程序执行的结果不是我们想要的,为了解决这个问题我发现Laravel有提供现成的方法。

方案

方法一:可以在代码中使用原子锁,这样即使第二个tash进程启动了,也可以阻挡住。

方法二:使用Laravel提供现成的withoutOverlapping方法,官方案例:$schedule->command('emails:send')->withoutOverlapping();

方法一中使用哪一种的锁机制,那就看自家自己的喜好了不分好坏,只分性能高低😼,个人使用redis原子锁,从2.6.12版本以后,使用锁的方式变得更为简单,如设置一个名为lock的5秒钟原子锁:SET lock 1 EX 5 NXSET 更多参数用法

方法二我的测试结果如下:

  1. 创建测试command文件,命令:php artisan make:command Test

  2. 代码

2018-2019年-面试经历-上

智众医疗

  1. 自我介绍
  2. MySQL 优化,常见的索引优化的方式
  3. 阿里云的 RDS 报 IOPS 过高(使用到索引了)
  4. 除了用 Redis 做缓存还用到了什么?(消息队列和锁,讲一下)
  5. 讲一下你的比较顺畅的一个工作流程
  6. 有一个接口,用户反馈很慢?
  7. 你们是怎么监控接口的?
  8. docker 的原理?
  9. 如何优化镜像的打包速度和大小
  10. 讲一下个人是怎么成长的?
  11. 谈谈你对 MySQL 的优化
  12. 在创建 MySQL 索引时你是如何考虑的?
  13. Btree 和 红黑树的区别
  14. 你在生产环境是如何部署任务队列的?
  15. Laravel 中你认为哪些比较好的地方
  16. ELK 有没有了解过?

Hexo_posts目录归档

问题描述 Blog文章写多了,都堆积在source/_posts根目录下,每次创建了一篇新博文,找起来很是花时间,想要实现创建的博文按/年/月

Laravel Query Builder 一个复杂查询

Laravel Query Builder 复杂查询案例:子查询实现分区查询 partition by 案例:Laravel 在文章列表中附带上前 10 条评论?,在获取文章列表时同时把每个文章的前 10 条评论一同