gpt4 book ai didi

linux - 程序显示控制台输出,即使 stdout 和 stderr 被重定向

转载 作者:太空狗 更新时间:2023-10-29 11:33:40 25 4
gpt4 key购买 nike

即使标准输出和标准错误都已重定向到/dev/null,vncpasswd 程序如何在控制台上产生输出?

$ vncpasswd > /dev/null 2> /dev/null
Password:

编辑:这是部分 strace:

open("/dev/tty", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 opost -isig icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig icanon -echo ...}) = 0
fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(5, 0), ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig icanon -echo ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb7c3eda000
write(3, "Password: ", 10Password: ) = 10
read(3,

最佳答案

它直接打开底层终端(类似open("/dev/tty", ...))。再多的重定向也无法摆脱它。如果您不想看到它,则必须在不附加到 tty 的情况下运行它(例如通过 cron 或其他方式)。

关于linux - 程序显示控制台输出,即使 stdout 和 stderr 被重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12716736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com