Linux zenity抛出glibc错误
我一直在尝试在shell脚本中使用zenity和标准的重定向,比如 以美元计价的i(序号110);不要重复$i;完成| zenity--list--column=“Number” 但在命令行上,这是可行的,但会引发以下警告: (zenity:3328):GLib警告**:文件描述符无效 这似乎只有在数据通过管道重定向到Zenity命令时才会发生Linux zenity抛出glibc错误,linux,ubuntu-11.10,zenity,Linux,Ubuntu 11.10,Zenity,我一直在尝试在shell脚本中使用zenity和标准的重定向,比如 以美元计价的i(序号110);不要重复$i;完成| zenity--list--column=“Number” 但在命令行上,这是可行的,但会引发以下警告: (zenity:3328):GLib警告**:文件描述符无效 这似乎只有在数据通过管道重定向到Zenity命令时才会发生 有人能告诉我这个警告意味着什么吗?这个错误是通过尝试关闭stdin两次触发的-一次是在从序列中读取所有数据之后,第二次是因为它即将退出-这在zenity
有人能告诉我这个警告意味着什么吗?这个错误是通过尝试关闭stdin两次触发的-一次是在从序列中读取所有数据之后,第二次是因为它即将退出-这在zenity源中。这纯粹是装腔作势,可以安全地忽略——zenity代码除了在那一点上退出之外,什么都不做 在handler
zenity\u tree\u handle\u stdin
中,在例程结束时,它关闭相同的通道(由于在函数和全局范围中使用相同的命名变量而导致变量隐藏):
在tree.c
~第648行中,程序即将退出:
if (channel != NULL)
g_io_channel_shutdown (channel, TRUE, NULL);
这两个代码路径都将尝试关闭同一通道,从而导致警告。因为第648行之后要做的下一件事是发出一个
gtk\u main\u quit
,所以我认为可以安全地忽略该警告。请注意,我正在使用Ubuntu 11.10谢谢Petesh,我也认为可以安全地忽略该警告。奇怪的是,这个警告只在Linux的某些diastros中出现,例如,它似乎没有出现在Fedora上。TIt zenity似乎是针对不同的Linux发行版从不同的代码库构建的。
if (channel != NULL)
g_io_channel_shutdown (channel, TRUE, NULL);