//
run QT_loginui ok ///
#add $ vi /etc/init.d/rc.local -> /xxx/xxx/runxf.sh 目的是开机自动启动runxf.sh
/
///file -> runxf.sh start///##此sh,循环启动QT_ui,
#! /bin/bash
xfreerdp=
logui=
ZERO=""
ProcLoginui="loginui"
ps aux | grep dou | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
ps aux | grep test | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
#ps aux | grep dou | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
boot_loginui()
{
#echo "boot logui..."
sleep 1
xfreerdp=`pgrep xinit`
if [ -n "$xfreerdp" ]; then //再次判断xfreerdp 是否存在,不存在就启动loginui
return 0
else
xinit /home/jiangdou/test/loginui -qws //使用x11启动QT程序,解决键盘迟钝现象!!!!
fi
}
main_loginui()
{
logui=`pgrep loginui` //判断loginui是否存在,不存在及启动loginui
if [ -n "$logui" ]; then
return 0
else
boot_loginui //"loginui....run now!!"
fi
return 0
}
echo "by jiangdou 2015-01-28"
while((1)) //此sh,循环启动QT_ui,
do
sleep 1
main_loginui
done
exit 0
/
///file -> runxf.sh end/
#启动QT_ui
QT_ui code start
QString ipstr = ui->IP_Edit->text(); #取得IP
char *ip = ipstr.toLatin1().data();
execl("./test","dou", ip, NULL);
QT_ui code end//
#test 程序
test code start/
#include<stdio.h>
#include <signal.h>
#include <unistd.h>
///home/jiangdou/test/
int main(int argc, char **argv)
{
int i;
int status;
pid_t pid;
char *ip = argv[1];
daemon(0, 0);
// signal(SIGCHLD, SIG_IGN);
if((pid = fork())<0){
status = -1;
}
else if(pid == 0){
// execl("/hone/jiangdou/test/dou.sh", "jiang", ip, NULL);
execl("/home/jiangdou/test/dou.sh","sh","-c", ip, NULL);
// exit(); //子进程正常执行则不会执行此语
}
//printf("argv:%s\n", argv[1]);
// execl("/home/jiangdou/test/dou.sh","jiang", ip, NULL);
// execvp("./dou.sh", argv[1]);
printf("argv:%s\n", argv[1]);
// daemon(0, 0);//fork 强制后运行!
// for(i = 0; i < 10; i++)
// system("./dou.sh");
while(1)
{
sleep(1);
printf("hello......by jiangdou\n");
// system("./dou.sh");
// execl("/home/jiangdou/test/test",);
return status;
}
QT_ui code end//
#QT_loginui 启动dou.sh
//
//file ->dou.sh start
#! /bin/bash
echo $1
ps aux | grep loginui | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
ps aux | grep xinit | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
sleep 1
#/usr/local/bin/xfreerdp -g 1920x1080 $1
xinit /usr/local/bin/xfreerdp -g 800x480 $1 //#此处很关键,启动xfreerdp
#ps aux | grep xfreerdp | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null
#ps aux | grep test | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null
#ps aux | grep dou | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null
sleep 2
#/home/jiangdou/test/loginui -qws
exit 0
//
//file ->dou.sh end//
run QT_loginui ok ///
#add $ vi /etc/init.d/rc.local -> /xxx/xxx/runxf.sh 目的是开机自动启动runxf.sh
/
///file -> runxf.sh start///##此sh,循环启动QT_ui,
#! /bin/bash
xfreerdp=
logui=
ZERO=""
ProcLoginui="loginui"
ps aux | grep dou | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
ps aux | grep test | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
#ps aux | grep dou | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
boot_loginui()
{
#echo "boot logui..."
sleep 1
xfreerdp=`pgrep xinit`
if [ -n "$xfreerdp" ]; then //再次判断xfreerdp 是否存在,不存在就启动loginui
return 0
else
xinit /home/jiangdou/test/loginui -qws //使用x11启动QT程序,解决键盘迟钝现象!!!!
fi
}
main_loginui()
{
logui=`pgrep loginui` //判断loginui是否存在,不存在及启动loginui
if [ -n "$logui" ]; then
return 0
else
boot_loginui //"loginui....run now!!"
fi
return 0
}
echo "by jiangdou 2015-01-28"
while((1)) //此sh,循环启动QT_ui,
do
sleep 1
main_loginui
done
exit 0
/
///file -> runxf.sh end/
#启动QT_ui
QT_ui code start
QString ipstr = ui->IP_Edit->text(); #取得IP
char *ip = ipstr.toLatin1().data();
execl("./test","dou", ip, NULL);
QT_ui code end//
#test 程序
test code start/
#include<stdio.h>
#include <signal.h>
#include <unistd.h>
///home/jiangdou/test/
int main(int argc, char **argv)
{
int i;
int status;
pid_t pid;
char *ip = argv[1];
daemon(0, 0);
// signal(SIGCHLD, SIG_IGN);
if((pid = fork())<0){
status = -1;
}
else if(pid == 0){
// execl("/hone/jiangdou/test/dou.sh", "jiang", ip, NULL);
execl("/home/jiangdou/test/dou.sh","sh","-c", ip, NULL);
// exit(); //子进程正常执行则不会执行此语
}
//printf("argv:%s\n", argv[1]);
// execl("/home/jiangdou/test/dou.sh","jiang", ip, NULL);
// execvp("./dou.sh", argv[1]);
printf("argv:%s\n", argv[1]);
// daemon(0, 0);//fork 强制后运行!
// for(i = 0; i < 10; i++)
// system("./dou.sh");
while(1)
{
sleep(1);
printf("hello......by jiangdou\n");
// system("./dou.sh");
// execl("/home/jiangdou/test/test",);
return status;
}
QT_ui code end//
#QT_loginui 启动dou.sh
//
//file ->dou.sh start
#! /bin/bash
echo $1
ps aux | grep loginui | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
ps aux | grep xinit | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null //杀掉所有进程
sleep 1
#/usr/local/bin/xfreerdp -g 1920x1080 $1
xinit /usr/local/bin/xfreerdp -g 800x480 $1 //#此处很关键,启动xfreerdp
#ps aux | grep xfreerdp | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null
#ps aux | grep test | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null
#ps aux | grep dou | grep -v grep |awk '{print $2}' | xargs kill 2&> /dev/null
sleep 2
#/home/jiangdou/test/loginui -qws
exit 0
//
//file ->dou.sh end//