Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 检测是否有qws服务器正在运行_C++_Qt_Qt4_Qtgui_Qtembedded - Fatal编程技术网

C++ 检测是否有qws服务器正在运行

C++ 检测是否有qws服务器正在运行,c++,qt,qt4,qtgui,qtembedded,C++,Qt,Qt4,Qtgui,Qtembedded,为了在嵌入式系统上正确地启动一个小Qt应用程序,我需要一种可靠的方法来确定qtqws服务器是否已经在运行 否则,我需要向应用程序提供-qws选项来运行服务器本身。有办法吗?想到的唯一快速解决方法是: ps aux | grep "\-qws" 并检查是否返回任何内容。除此之外,我认为你应该在你的项目中淘汰qws,因为它是一个相对陈旧的概念,与今天的标准相比已经过时了。想到的唯一快速解决方法是: ps aux | grep "\-qws" 并检查是否返回任何内容。除此之外,我认为你应该在你的项

为了在嵌入式系统上正确地启动一个小Qt应用程序,我需要一种可靠的方法来确定qtqws服务器是否已经在运行


否则,我需要向应用程序提供
-qws
选项来运行服务器本身。有办法吗?

想到的唯一快速解决方法是:

ps aux | grep "\-qws"

并检查是否返回任何内容。除此之外,我认为你应该在你的项目中淘汰qws,因为它是一个相对陈旧的概念,与今天的标准相比已经过时了。

想到的唯一快速解决方法是:

ps aux | grep "\-qws"

并检查是否返回任何内容。除此之外,我认为你应该在你的项目中淘汰qws,因为它是一个相对陈旧的概念,与今天的标准相比已经过时了。

想到的唯一快速解决方法是:

ps aux | grep "\-qws"

并检查是否返回任何内容。除此之外,我认为你应该在你的项目中淘汰qws,因为它是一个相对陈旧的概念,与今天的标准相比已经过时了。

想到的唯一快速解决方法是:

ps aux | grep "\-qws"

并检查是否返回任何内容。除此之外,我认为您应该在项目中淘汰qws,因为这是一个相对陈旧的概念,与当今的标准相比已经过时。

以下是我所选择的解决方案:

QWS服务器使用套接字与客户端进行通信。我测试这个插座是否存在

我还测试服务器是否实际打开了套接字,以避免陷入QWS服务器崩溃后留下的孤立套接字。这是使用套接字上的
lsof
(列出打开的文件)完成的。如果服务器正在运行,列表将不会为空,
lsof
将返回
true
。如果服务器未运行,
lsof
将返回
false

在我的系统上,插座位于
/tmp/qtembedded-0/qtembedded-0

下面是bash代码:

QWSSOCK=/tmp/qtembedded-0/QtEmbedded-0

if [ ! -S $QWSSOCK ] ; then
    echo "No socket $QWSSOCK"
    QWSOPT=-qws
elif lsof $QWSSOCK ; then
    echo "Server running on $QWSSOCK"
    QWSOPT=
else
    echo "No server on $QWSSOCK"
    QWSOPT=-qws
fi
在此之后,我可以使用
$QWSOPT
变量运行Qt应用程序:

app $QWSOPT

以下是我所选择的解决方案:

QWS服务器使用套接字与客户端进行通信。我测试这个插座是否存在

我还测试服务器是否实际打开了套接字,以避免陷入QWS服务器崩溃后留下的孤立套接字。这是使用套接字上的
lsof
(列出打开的文件)完成的。如果服务器正在运行,列表将不会为空,
lsof
将返回
true
。如果服务器未运行,
lsof
将返回
false

在我的系统上,插座位于
/tmp/qtembedded-0/qtembedded-0

下面是bash代码:

QWSSOCK=/tmp/qtembedded-0/QtEmbedded-0

if [ ! -S $QWSSOCK ] ; then
    echo "No socket $QWSSOCK"
    QWSOPT=-qws
elif lsof $QWSSOCK ; then
    echo "Server running on $QWSSOCK"
    QWSOPT=
else
    echo "No server on $QWSSOCK"
    QWSOPT=-qws
fi
在此之后,我可以使用
$QWSOPT
变量运行Qt应用程序:

app $QWSOPT

以下是我所选择的解决方案:

QWS服务器使用套接字与客户端进行通信。我测试这个插座是否存在

我还测试服务器是否实际打开了套接字,以避免陷入QWS服务器崩溃后留下的孤立套接字。这是使用套接字上的
lsof
(列出打开的文件)完成的。如果服务器正在运行,列表将不会为空,
lsof
将返回
true
。如果服务器未运行,
lsof
将返回
false

在我的系统上,插座位于
/tmp/qtembedded-0/qtembedded-0

下面是bash代码:

QWSSOCK=/tmp/qtembedded-0/QtEmbedded-0

if [ ! -S $QWSSOCK ] ; then
    echo "No socket $QWSSOCK"
    QWSOPT=-qws
elif lsof $QWSSOCK ; then
    echo "Server running on $QWSSOCK"
    QWSOPT=
else
    echo "No server on $QWSSOCK"
    QWSOPT=-qws
fi
在此之后,我可以使用
$QWSOPT
变量运行Qt应用程序:

app $QWSOPT

以下是我所选择的解决方案:

QWS服务器使用套接字与客户端进行通信。我测试这个插座是否存在

我还测试服务器是否实际打开了套接字,以避免陷入QWS服务器崩溃后留下的孤立套接字。这是使用套接字上的
lsof
(列出打开的文件)完成的。如果服务器正在运行,列表将不会为空,
lsof
将返回
true
。如果服务器未运行,
lsof
将返回
false

在我的系统上,插座位于
/tmp/qtembedded-0/qtembedded-0

下面是bash代码:

QWSSOCK=/tmp/qtembedded-0/QtEmbedded-0

if [ ! -S $QWSSOCK ] ; then
    echo "No socket $QWSSOCK"
    QWSOPT=-qws
elif lsof $QWSSOCK ; then
    echo "Server running on $QWSSOCK"
    QWSOPT=
else
    echo "No server on $QWSSOCK"
    QWSOPT=-qws
fi
在此之后,我可以使用
$QWSOPT
变量运行Qt应用程序:

app $QWSOPT

读取流程表和传递的选项有什么不对?@FinalContest发布正确答案有什么不对?你甚至可能会被选中:)对不起,我个人不认为这是最好的方法,但不幸的是,我也不认为有更简单的方法。Fwiw,我不明白为什么这个问题被否决了。也许有人认为它太短了。我现在已经补偿了@最后,谢谢。无意冒犯,无意冒犯。很高兴继续。阅读流程表和传递的选项有什么错?@FinalContest发布正确答案有什么错?你甚至可能会被选中:)对不起,我个人不认为这是最好的方法,但不幸的是,我也不认为有更简单的方法。Fwiw,我不明白为什么这个问题被否决了。也许有人认为它太短了。我现在已经补偿了@最后,谢谢。无意冒犯,无意冒犯。很高兴继续。阅读流程表和传递的选项有什么错?@FinalContest发布正确答案有什么错?你甚至可能会被选中:)对不起,我个人不认为这是最好的方法,但不幸的是,我也不认为有更简单的方法。Fwiw,我不明白为什么这个问题被否决了。也许有人认为它太短了。我现在已经补偿了@最后,谢谢。无意冒犯,无意冒犯。很高兴继续。阅读流程表和传递的选项有什么错?@FinalContest发布正确答案有什么错?你甚至可能会被选中:)对不起,我个人不认为这是最好的方法,但不幸的是,我也不认为有更简单的方法。我不明白