分类 开发笔记 下的文章

在 Linux 系统中,僵尸进程(Zombie Process) 是指已经结束但其父进程未调用 wait() 或 waitpid() 回收其退出状态的子进程。这类进程仍然保留在进程表中,状态为 Z(Zombie),虽然不占用 CPU 和内存资源,但长期不处理可能导致系统资源耗尽。

本文介绍如何查看 Linux 系统中的僵尸进程数量与详细信息。

查看僵尸进程数量

使用 ps 和 grep 命令统计僵尸进程数:

ps -eo stat | grep -c '^Z'

• ps -eo stat:列出所有进程的状态字段。
• grep -c '^Z':统计以 Z 开头的行数,即为僵尸进程数。

- 阅读剩余部分 -

2025-10-09T09:55:53.png

阿里昨天发布的代码模型 Qwen3-Coder,有 4800 亿参数,是阿里迄今为止最具代码推理能力的代码模型,官方宣称“可以与 Cluade Sonnet4 媲美”。

下面是官方宣称的一些关键信息:

  • 旗舰版本 Qwen3‑Coder‑480B‑A35B‑Instruct 是迄今为止最具“agentic coding”能力的开源模型;
  • 在 Agentic Coding、浏览器和工具使用等任务上达到了开源界 SOTA,与 Anthropic 的 Claude Sonnet 4 不相上下;
  • 上下文支持 256K token 原生,配合 YaRN 可扩展至 1M,使其可胜任大规模仓库与多轮交互场景;
  • 通过 7.5T 数据(70% 代码)增强训练,并加入 agentic RL,达成在 SWE‑Bench Verified 等实际工程任务上的 SOTA 性能。

还好是阿里发布的,这要是菊花发布的,大嘴高低得喊俩小时的遥遥领先。

2025-10-09T09:56:15.png

我在社区看到很多人体验后说效果确实很不错,编码能力确实出众。我本来也想试试,但在看到很多网友吐槽费用后,果断放弃了:

- 阅读剩余部分 -

方法一:使用 ALTER USER(推荐,适用于 MySQL 5.7+ 和 8.0+)

ALTER USER CURRENT_USER() IDENTIFIED BY '123456';

修改指定用户(例如 root 用户)密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

方法二:旧版本(MySQL 5.6 及以下)使用 SET PASSWORD

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

公司有个项目用了 hyperf 框架,需要安装 swoole 扩展,我的新 m4 macbook air 尚未装过,执行 pecl install swoole,结果报错了。

In file included from /private/tmp/pear/temp/swoole/ext-src/php_swoole.cc:26:
/opt/homebrew/Cellar/php@8.3/8.3.19_1/include/php/ext/pcre/php_pcre.h:23:10: fatal error: 'pcre2.h' file not found
   23 | #include "pcre2.h"
      |          ^~~~~~~~~
1 error generated.
make: *** [ext-src/php_swoole.lo] Error 1
ERROR: `make' failed

提示缺少文件,手动安装了一下 pcre2,发现早就装过了,看来问题是找不到,而不是没有装。

- 阅读剩余部分 -

/var/log/journal/ 是 systemd 的持久化日志目录,用于存储通过 journald(Systemd Journal)收集的系统日志。相比传统的 /var/log/syslog 或 /var/log/messages,journald 的日志更结构化、压缩存储,支持更丰富的查询。

/var/log/journal/ 包含的日志内容

  • 内核日志(类似 dmesg)
  • systemd 服务日志(替代了 syslog)
  • 各种系统事件(启动、关闭、错误、服务状态变化等)
  • 用户登录记录、安全事件等

如何查看这些日志?

journalctl -b         # 查看本次启动以来的日志
journalctl -xe        # 查看最近的错误日志
journalctl -u nginx   # 查看 nginx 服务的日志

清理日志的方法

方式一:清理旧日志(按时间)

sudo journalctl --vacuum-time=7d
只保留7天内的日志,删除 7 天前的日志。

- 阅读剩余部分 -

我有一台 mac mini m2,本来是放在办公室用的,但发现还是带笔记本更方便,所以就闲置了。
家里已经有了群晖 nas,所以暂时也没有用途了。

这两年 AI 很火,就琢磨着可以搞个相关的小服务放在 mac mini 上跑,然后对外提供接口,这就需要打通网络。

调研了一番,还是选择了以前用过的 frp

环境准备

客户端是我的 mac mini,系统是最新版的 macOS 15.4。

服务端是我的阿里云 ECS,系统是 ubuntu 22.04。

下载好 frp,目前最新的版本是 v0.62.0

服务端下载 frp_0.62.0_linux_amd64.tar.gz,解压后放到 /opt/frp 目录。

客户端下载 frp_0.62.0_darwin_arm64.tar.gz,解压后放到 /Users/tony/apps/frp 目录。

- 阅读剩余部分 -

element-plus 的 Message 在配置上与 Notification 非常类似,从产品角度来说,这两者分贝适用于什么场景?有什么区别?

一句话区分:

  • Message 更适合轻量、短暂的提示,用户无需特别注意即可理解。
  • Notification 更适合需要用户关注的、相对重要的提示,可能包含较多信息或操作项。

- 阅读剩余部分 -

这几天我的一台小服务器卡的不要不要的,重启之后虽然不卡了,但过个几天,又卡成翔了。

研究了一下,发现 CPU 占用并不高,问题是内存不够用,看来是部署的服务太多了。

由于是阿里云搞活动买的 99 一年的 ECS ,只有 2G 的内存,部署了 redis、mysql、gitea,还跑了两个版本的 php-fpm,用 ps aux --sort=-%mem | head -n 11 命令查看了一下内存大户,mysql 毫无疑问排在了第一。

秉持着榨干服务器最后一滴价值的原则,果断给服务器加了 2G 的交换内存。

下面是操作步骤:

- 阅读剩余部分 -