Qprocess启动的嵌套远程过程仍然是僵尸
Nested remote process started by QProcess remains as zombie
我正在尾随日志服务器上的日志,以在窗口中显示其中任何一个,但是当我关闭应用程序时,远程尾部进程在服务器上保持活跃。
重复产生大量的僵尸过程。
process_log_watcher_->start(QString(
"ssh -t %1 "tail -F -n 0 /var/log/logfile.log"").arg(log_server_));
在控制台中,ssh -t
选项处理终端的出口;我想复制这种行为。
在灾难中我称为 process_log_watcher_->close();
,但似乎没有帮助。它的行为与启动ssh -t server "tail -F -n 0 /var/log/logfile.log"
关闭控制台窗口的行为不同。
可能是Qprocess不会终止SSH会话?
ssh -t server bash -c "tail -F -n 0 /var/log/logfile.log"
解决了问题。
这意味着SSH连接终止未正确地转移到尾巴上,但是将其正确地转发到遥控器,然后根据需要终止尾巴。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 在C++,重复申报仍然是一个问题吗?
- "Memory Fragmentation"这仍然是一个问题?
- 将基本类型数组中的内存重新用于不同(但仍然是基本)类型的数组合法吗
- 为什么 (-i) 的类型(其中 i 是无符号的 int)仍然是无符号的 int?
- 更新 g++ 但仍然是旧版本
- boost_asio_handler_invoke_helpers::invoke 是否仍然是在 boost asio
- 是转发参考是否仍然是RVALUE参考
- 将字符串转换为整数。为什么会出现此错误?我想将 ID(字符串)更改为 IC(整数)。两者都是数组。顺便说一句,我仍然是初学者
- 派生类仍然是抽象的
- Qprocess启动的嵌套远程过程仍然是僵尸
- 是shared_ptr的引用仍然是一个指针
- 包裹原子类型并确保其仍然是原子
- MATLAB MEX:-STD = C 11使用,但MEX错误仍然是错误
- Quantlib - 宽容仍然是一种选择
- 空类的链式继承,仍然是必要的
- 过程向量是神经网络输入层的输入神经
- C中的内存分配过程?它是向下还是自下而上的方法
- 仍然是我的Vector版本
- 为什么返回 std::vector 仍然是在制作副本