Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 阻止Linux向控制台发送usb条形码扫描仪字符_C_Linux_Barcode Scanner - Fatal编程技术网

C 阻止Linux向控制台发送usb条形码扫描仪字符

C 阻止Linux向控制台发送usb条形码扫描仪字符,c,linux,barcode-scanner,C,Linux,Barcode Scanner,对于一个客户,我编写了一个中间件,让他使用以太网适配器通过网络访问串行端口,并使用Web服务读取数据 他最近要求增加对从条形码扫描仪读取数据的支持,我实现了直接从设备读取事件(/dev/input/eventX或/dev/input/by id/xyz) 条形码扫描器直接连接到服务器,通过我的Web服务器公开的Web服务读取数据 除了linux控制台可以接收条形码之外,所有这些都可以正常工作 如何“阻止”(停止)系统向控制台发送内容 注意:没有X11/Xorg或其他内容,服务器是一台仅限控制台的

对于一个客户,我编写了一个中间件,让他使用以太网适配器通过网络访问串行端口,并使用Web服务读取数据

他最近要求增加对从条形码扫描仪读取数据的支持,我实现了直接从设备读取事件(/dev/input/eventX或/dev/input/by id/xyz)

条形码扫描器直接连接到服务器,通过我的Web服务器公开的Web服务读取数据

除了linux控制台可以接收条形码之外,所有这些都可以正常工作

如何“阻止”(停止)系统向控制台发送内容


注意:没有X11/Xorg或其他内容,服务器是一台仅限控制台的机器!条形码由在android平板电脑上执行的javascript(jsonp)读取,具体取决于您的Linux发行版。在Redhat/Centos上,您可以通过编辑/etc/syslog.conf和/etc/sysconfig/syslog关闭或过滤控制台消息。

检查
/etc/inittab
,查看该串行端口上是否运行
getty
。如果是,请通过插入
#
作为第一个字符注释掉该行。

可能是因为您正在从启动脚本运行服务器进程并将其输出到stdout/stderr,或者它们是某种系统日志或内核消息,所以条形码会到达控制台

假设它们是标准输出,在启动脚本中查找服务器运行的位置,并将输出重定向到文件或/dev/null,例如:

noisy-server-cmd >/dev/null 2>&1 &

如果有更多的代码可以使用,可能会有所帮助。但是,让我提出一个明显的解决方案:您是否尝试关闭标准输出文件描述符[close(0)]?@BhaskarUpadhyayula标准输出是fd 1。@FatalError感谢您指出错误。@BhaskarUpadhyayula您可以编辑您以前的评论。。也许我解释得不好。条形码扫描仪作为usb hid、usb键盘工作,是在控制台上进行写入的系统本身。我的应用程序从/dev/input设备读取输入事件以捕获字符,显然,它不会打印任何内容,因为它是一个Web服务器,并且工作正常。我需要阻止操作系统将条形码键(usb键盘)发送到活动控制台。感谢您的建议,这样我可以跳过失败的身份验证日志,但我想完全避免它们:\LOL,这样做我将在出现问题时终止访问系统的唯一方法(我正在使用alix板)。不行:)好计划。在您提出问题后添加约束是不公平的!:-)好吧,这不是一个新的约束:)如果你杀了getty,你就不能访问系统:)但是,最后,我可能会禁用auth loggingBarcodes访问控制台,因为它被视为usb键盘,是系统本身将条形码字符发送到活动控制台。我想禁用这个。