什么是终端服务命名空间

总起,windows提供终端服务:

终端服务器是一种服务器,它为终端服务客户端托管基于 Windows 的程序或完整的 Windows 桌面。用户可以连接到终端服务器来运行程序,保存文件,以及使用该服务器上的网络资源。用户可以使用 RDC 或 RemoteApp 程序访问终端服务器。

 

使用终端服务的优势:

使用终端服务,用户可以在企业网络内部或通过 Internet 访问终端服务器。

终端服务可使您在企业环境中有效地部署和维护软件。可以很容易从中心位置部署程序。由于将程序安装在终端服务器上,而不是安装在客户端计算机上,所以,更容易升级和维护程序。

用户访问终端服务器上的某个程序时,在服务器上执行该程序。只有键盘、鼠标和显示器信息才通过网络传输。每个用户只能看到自己的会话。服务器操作系统透明地管理会话,与任何其他客户端会话无关。

 

我们可以做的:

我们可以通过函数ProcessIdToSessionId来得到我们的进程在那个终端服务会话中运行。

我们也可以强制把一个命名对象放入全局命名空间,方法是加前缀“Global\”

         也可以把内核对象放入当前会话的命名空间,方法是加前缀“Local\”

 

参考资料:http://technet.microsoft.com/zh-cn/library/cc755053(WS.10).aspx

 

命名管道(Named Pipe),也被称为FIFO(First In First Out),是一种用于进程间通信(IPC,Inter-Process Communication)的方式。它允许不同用户空间的程序之间通过文件系统路径名称来进行数据交换。 ### 具体特点及工作原理: 1. **基于文件系统的通信** 命名管道是一个特殊的文件节点,位于文件系统中某个指定的位置。其他进程可以通过这个位置访问并读取或写入数据。 2. **单向传输** 默认情况下,命名管道支持单一方向的数据流,即一端负责写入而另一端负责读出。如果需要双向通信,则可以创建两个命名管道分别处理输入和输出。 3. **阻塞特性** 当一个进程尝试从空闲状态下的命名管道读取数据时会进入等待模式直到有新内容可供读;同样地,当另一个试图往已满缓冲区添加信息也将暂停操作直至空间释放出来为止。 4. **跨平台支持良好** 许多操作系统如Linux、Unix以及Windows都提供对这种机制的支持,并且实现了相对一致的行为规范以便开发者能够在多种环境下复用相同的逻辑代码结构。 5. **实际应用案例** - 配合shell脚本完成任务分发; - 实现后台守护服务与前端GUI界面交互等场景下非常有用。 ### 示例说明(以 Linux 系统为例) 假设我们需要建立这样一个简单的命令行工具链:其中一个程序生成随机数字并将结果传递给第二个用来排序显示它们的应用软件。我们可以利用mkfifo命令先行构造好连接点: ```bash $ mkfifo mypipe ``` 接着,在第一个终端里启动生产者角色 ```bash $ echo "Hello World" > mypipe & ``` 然后在第二个窗口运行消费者部分去接收消息 ```bash $ cat < mypipe ``` 最终你应该能够看到屏幕上打印出了“Hello World”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值