xrdp远程 & watchdog 启用与测试 & WebRTC
sudo gedit /etc/xrdp/startwm.sh 在. /etc/X11/Xsession 前一行插入 xfce4-session
sudo service xrdp restart
name=Reconnect
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=5910
# modinfo softdog
filename: /lib/modules/3.2.0-4-686-pae/kernel/drivers/watchdog/softdog.ko
2. 加载模块
# insmod /lib/modules/3.2.0-4-686-pae/kernel/drivers/watchdog/softdog.ko
3. 此刻可见/dev/watchdog, 或创建
# mknod /dev/watchdog c 10 130
4. 查看dev并赋予权限
# ls -l /dev/watchdog
crw------- 1 root root 10, 130 Mar 21 16:27 /dev/watchdog# chmod o+rw /dev/watchdog
5. 测试使用watch dog
简单可写为:
# echo 0 > /dev/watchdog ///从此刻起计时,启用watchdog
# echo -n V > /dev/watchdog ///停用watchdog
6. 硬件与软件watchdog的区别
硬件watchdog必须有硬件电路支持, 设备节点/dev/watchdog对应着真实的物理设备, 不同类型的硬件watchdog设备由相应的硬件驱动管理。软件watchdog由一内核模块softdog.ko 通过定时器机制实现,/dev/watchdog并不对应着真实的物理设备,只是为应用提供了一个与操作硬件watchdog相同的接口。
硬件watchdog比软件watchdog有更好的可靠性。 软件watchdog基于内核的定时器实现,当内核或中断出现异常时,软件watchdog将会失效。而硬件watchdog由自身的硬件电路控制, 独立于内核。无论当前系统状态如何,硬件watchdog在设定的时间间隔内没有被执行写操作,仍会重新启动系统
看门狗是混杂设备,所以主设备号是10,/include/linux/miscdevice.h 中定义他的次设备号为130
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>
#include <signal.h>
#include <time.h>
#include <pthread.h>
#include <sys/time.h>
#include <linux/watchdog.h>
#include <sys/ioctl.h>
time_t backTime;
struct tm *pBackTime;
int wt_fd;
static void sigAlarm(int sig)
{
';
(void)time(&backTime);
pBackTime= localtime(&backTime);
printf("day: %d; hour: %d; min: %d; sec: %d\n", pBackTime->tm_mday, pBackTime->tm_hour, pBackTime->tm_min, pBackTime->tm_sec);
write(wt_fd, &flag, ); //Reset Watchdog 喂狗
alarm();
return;
}
int main()
{
char flag = 'V';
int ret;
;
if(SIG_ERR == signal(SIGALRM, sigAlarm))
{
perror("signal (SIGALARM) error");
}
wt_fd = open("/dev/watchdog", O_RDWR);
)
{
printf("Fail to open watchdog device!\n");
}
else
{
write(wt_fd,NULL,);
printf("Turn on Watch Dog\n");
ret = ioctl(wt_fd, WDIOC_SETTIMEOUT, &timeout);
if(EINVAL == ret)
{
printf("EINVAL Returned\n");
}
else if(EFAULT == ret)
{
printf("EFAULT Returned\n");
}
== ret)
{
printf("Set timeout %d secs success\n", timeout);
}
else
{
printf("Ret %d\n", ret);
}
}
alarm();
);
write(wt_fd, &flag, );
printf("Turned off Watch Dog\n");
close(wt_fd);
;
}
http://blog.sina.com.cn/s/blog_69a04cf401016gz4.html
xrdp远程 & watchdog 启用与测试 & WebRTC的更多相关文章
- ubuntu 13.04 xrdp 远程桌面连接问题[转载]
本人ubuntu12.04,遇到了同样的问题,用一下方法解决了,mark一下. ubuntu 13.04 xrdp 远程桌面连接问题. win 7 远程桌面连接 ubuntu desktop 有几种办 ...
- 启用WCF测试客户端的相关技巧
在Visual Studio之外打开WCF测试客户端有两种方法:第一种方法是到其所在路径(Visual Studio安装路径\Common7\IDE\WcfTestClient.exe)双击打开.第二 ...
- loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...
- Centos7安装Xrdp远程桌面
Xrdp是Microsoft远程桌面协议RDP的一个开源实现,它允许以图像方式控制远程系统. 测试环境 服务端: CentOS Linux release 7.7.1908 (Core) 客户端: W ...
- Xrdp远程连接到CentOS7系统配置
1 服务器端配置 1.1 查询是否已经安装epel库 打开已经安装了CentOS7的主机,以root用户登录,在桌面上打开一个终端,输入命令:rpm -qa|grep epel,查询 ...
- linux centos使用xrdp远程界面登陆
redhat6 安装xrdp 直接使用windows远程桌面连接登陆 下面介绍实现方法: 第一步:下载源码包,并安装一些依赖的软件下载xrdp源码包 wget http://downloads.so ...
- Centos 6.5 安装Xrdp 远程桌面
1. 安装源: Once you determine your architecture then you can install the correct EPEL repository with t ...
- C#实现远程开机(局域网测试通过)
首先介绍相关知识. UDP协议 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联 ...
- HTTP.SYS远程代码执行漏洞测试(ms15-034)
1.HTTP.SYS远程代码执行漏洞简介 首先漏洞编号:CVE-2015-1635(MS15-034 ) 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未 ...
随机推荐
- MyBatis的学习总结五:调用存储过程【参考】
一.创建存储过程 存储过程的目的:统计edi_test_task 正在运行的任务和非运行的任务 CREATE DEFINER=`root`@`%` PROCEDURE `edihelper`.`SP_ ...
- 4.SQL语言基础
4.1语言分类和用户模式 4.1.1语言分类 1)数据查询语言 用语检索数据库中的数据,主要是select语句,是操作数据库时最为频繁使用. 2)数据操纵语言 用语改变数据库中的数据,主要包括inse ...
- ios 将状态栏改为白色方法!
1在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO2 在需要改变状态栏颜色的ViewController中在ViewDidLoad方 ...
- Object-C — KVC
1:使用kvc存取对象属性 如果要更改对象属性可以通过什么方法达到呢? (1)通过setter和getter方法. (2)属性. (3)直接设置实例变量. 今天学习新的一种方法:键值编码-kvc.通过 ...
- cocos2dx系列笔记(2)- windows环境配置后续之 Android环境配置
续上篇 对于想用cocos2dx来开发Android游戏的人来说,最痛苦的莫过于配置Android环境和之后的奇奇怪怪的编译失败问题.这是经历了多次成功与失败之后,血与泪的经验包,大家请收好.如果你有 ...
- angularJS广播
控制器之间共享数据(向父级/子级控制器传递event,data),类似于service在不同的控制器中通信 html: <div ng-controller="ParentCtrl&q ...
- a*b(高进度乘以int类型的数)
以下是我今日的a-b(高精度)的程序,\(^o^)/偶也偶也偶也偶也! 程序: #include<stdio.h> #include<string.h> char s[1000 ...
- Memento 模式
Memento 模式的关键就是要在不破坏封装行的前提下,捕获并保存一个类的内部状态,这样就可以利用该保存的状态实施恢复操作. /////////Originator.h//////////////// ...
- Codeforces 549B Looksery Party
Looksery Party Solution: 仔细分析一下会发现每个人都会发一条消息给自己这个条件非常重要! 这个条件保证了一定会有解,而且解法也要从这里入手. 当我们拿到一个猜测的答案序列的时候 ...
- memcached 入门
memcached 是什么? Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. memcached 能够做些什么? 适用于大型网站,处理千万及的数据,而且 ...