51单片机驱动LCD1602常见问题排查操作指南
2026/1/14 11:00:10
ipcs是一个在 Unix/Linux 系统中用于查看进程间通信设施状态信息的命令行工具。
进程间通信是允许不同进程(运行中的程序)交换数据和同步操作的机制。ipcs主要报告以下三种 IPC 资源的详细信息:
ipcs[options]| 选项 | 说明 |
|---|---|
-m | 查看共享内存信息 |
-q | 查看消息队列信息 |
-s | 查看信号量信息 |
-a | 查看所有 IPC 信息(默认) |
-t | 显示时间信息 |
-p | 显示进程 ID 信息 |
-c | 显示创建者/所有者信息 |
-l | 显示系统 IPC 资源限制 |
-u | 显示使用情况摘要 |
-i <id> | 显示指定 ID 的详细信息 |
ipcs -a# 或直接ipcsipcs -m输出字段说明:
------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 32769 user 600 524288 2 dest 0x00000000 32770 user 600 4194304 1 destipcs -q------ Message Queues -------- key msqid owner perms used-bytes messages 0x00000456 0 root 644 0 0ipcs -s------ Semaphore Arrays -------- key semid owner perms nsems 0x00000111 0 user 600 1ipcs -m -p -c-p显示创建进程和最后操作的进程 ID-c显示创建者和所有者ipcs -m -u -c|grepusernameipcs -l输出系统对 IPC 资源的限制,如:
------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 18014398509465599 max total shared memory (kbytes) = 18014398509481980 min seg size (bytes) = 1 ------ Messages Limits -------- max queues system wide = 32000 max size of message (bytes) = 8192 default max size of queue (bytes) = 16384 ------ Semaphore Limits -------- max number of arrays = 32000 max semaphores per array = 32000 max semaphores system wide = 1024000000 max ops per semop call = 500 semaphore max value = 32767ipcs -uipcs -m -i32769当需要清理 IPC 资源时,使用ipcrm命令:
# 删除共享内存ipcrm -m shmid# 删除消息队列ipcrm -q msqid# 删除信号量ipcrm -s semid# 通过 key 值删除ipcrm -M key ipcrm -Q key ipcrm -S key