我在一个strace输出上看到的这些IPC_PRIVATE shm *调用是什么?

时间:2020-05-20 23:48:45

标签: ipc shared-memory strace

我正在比较同一程序Enlightenment 13(旧的窗口管理器)的strace日志执行。

在左侧,我在控制台中执行它,并遇到了Xnest 加载得很好。

在右侧,我通过sddm登录启动了它,就像普通的窗口管理器一样运行它。

通过sddm启动时存在加载问题,因此我想到了使用strace运行两个执行。

从主题加载像素图时,我看到一个重复出现的额外块。

shmget(IPC_PRIVATE, 13160, IPC_CREAT|0777) = 32826
shmat(32826, NULL, 0)                   = 0x7feb4af41000
shmget(IPC_PRIVATE, 564, IPC_CREAT|0777) = 32827
shmat(32827, NULL, 0)                   = 0x7feb4af71000
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\202\2\2\0\363\0@\0\202\2\2\0\365\0@\0\202\1\4\0\371\0@\0:\200\0\0\0\0/\0"..., iov_len=212}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 212
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\227\2\0\0\0\0\304\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
shmdt(0x7feb4af41000)                   = 0
shmctl(32826, IPC_RMID, NULL)           = 0
shmdt(0x7feb4af71000)                   = 0
shmctl(32827, IPC_RMID, NULL)           = 0

diff compare both strace

这与鼠标事件无关吗?这让我感到困惑,我看到它在一次执行期间出现在每种资产之间,而在另一次执行期间却没有。

0 个答案:

没有答案