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

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

查看僵尸进程数量

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

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

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

- 阅读剩余部分 -

iTerm2 有一个很讨厌的默认配置,就是选中了就默认给你复制到剪贴板了。

实际上在工作中我喜欢选中去阅读信息,但不知不觉就复制到剪贴板了,等我真要粘贴某个东西的时候发现完犊子了。

非常讨厌。

我问了 ChatGPT 如何更改这个配置, ChatGPT 连续两次告诉我的都是错误的——也许不是错的,可能是老版本的,但好在告诉我的配置项名称是对的,我搜索了一下找到了。

我用的最新的版本配置修改位置如下:

2025-07-18T01:52:33.png

如果还是找不到建议搜索一下 Copy to clipboard on selection

2025-07-18T01:57:05.png

如果搜不到就试试 Copy to pasteboard on selection,老版本可能叫这个名字。

前天晚上朋友问我 wildcard 是不是跑路了,还发了张图:

2025-07-14T02:04:24.png

我试了一下,发现官网确实打不开了。

朋友里面还有一百多刀,我里面还有20刀,有点扎心。

很多网友知道或者使用WildCard都是为了购买国外的 AI 类服务,比如 ChatGPT、GitHub Copilot 等。这次『跑路』我感觉很蹊跷。

因为 wildcard 看起来并不像是亏本买卖,除了卡片有年费,还有每笔充值的手续费,肯定可以cover 运营成本的。

我当时就猜测大概率是政策原因。

第二天晚上6点多,wildcard 官网突然恢复访问,并贴出通知,说48小时内恢复服务,不过充值和退款暂时用不了了,正在寻找合规的解决方案。

截止目前,wildcard 官网仍然被墙,不过还是可以看得到通知。

2025-07-14T03:38:23.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 天前的日志。

- 阅读剩余部分 -

macOS 通过 pwpolicy 命令,可以设置账户的密码策略,比如尝试次数限制。

sudo pwpolicy -u 用户名 -setpolicy "maxFailedLoginAttempts=3 minutesUntilFailedLoginReset=10"

这个命令的意思是:

如果密码输错 3 次,账户将被锁定,直到 10 分钟后 才能再尝试登录。

可以用以下命令查看当前用户的策略:

pwpolicy -u 用户名 -getpolicy

如果你想取消这个限制:

sudo pwpolicy -u 用户名 -clearpolicy

我有一台 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 更适合需要用户关注的、相对重要的提示,可能包含较多信息或操作项。

- 阅读剩余部分 -