我已经编写了一个客户端-服务器应用程序,其中客户端是一个Android应用程序,服务器端是用纯java编写的。
我想做的是,在客户端应用程序上创建一个服务。此服务应始终侦听来自服务器的消息(显然是在不同的线程上,而不是在主线程上--无论如何,在主线程上运行的服务有什么意义?)并能够发送响应,即使应用程序处于待机或关闭状态(就像Whatsapp或Facebook即使在应用程序关闭时也会收到消息一样)。
服务将通过广播意图与活动通信,活动将通过BroadcastReceiver侦听意图。
我所做的是实现的:
public class ServerProxy extends Service
pub
我有一堆不同的服务和脚本(MongoDB服务器、ElasticSearch服务器和NodeJS),它们在Amazon Web Services上的EC2实例上运行。当我积极地使用自己的计算机从命令行访问和使用这些服务时,这些服务工作得很好,但只要有一段时间不活动,超过几个小时,我就会收到一条断开管道连接的错误消息。
我已经尝试了设置ssh配置和增加ServerAliveInterval值,但是,每当我离开计算机无人值守或计算机进入睡眠状态时,这些服务停止工作,有没有办法强制它们无限期地存活?
我以前从未遇到过这种情况,因为我总是可以运行dev服务器,在终端中打开一个新的选项卡,然后从那里卷曲。我现在不能这样做,因为我从一个Docker容器中运行Django开发服务器,所以如果我打开一个新的选项卡,我将位于本地shell中,而不是码头容器中。
如何才能让开发服务器继续运行,并且仍然能够卷曲或运行其他命令?
当我运行开发服务器时,我会收到以下消息:
Django version 1.10.3, using settings 'test.settings'
Starting development server at http://127.0.0.1:8000/
Quit
我通过SSH连接到Linode终端。我已经从命令行启动了一个木星笔记本服务器。但我想在命令行中执行其他一些任务,以保持NB服务器的运行。如果不停止木星笔记本服务器,我就想不出如何做到这一点。上面写着:
[I 05:55:05.523 NotebookApp] Use Control-C to stop this server and shut
down all kernels (twice to skip confirmation).
我的需求是转到许多服务器,并在所有服务器上执行相同的命令。问题是,当我执行像rpm -qa |grep qli这样的命令时,我能够获得输出,但系统在该输出之后挂起。因此,我需要手动使用cntrl +z来终止进程。因此,我无法远程登录到其他服务器。
我的脚本是这样的:
while read server
do
echo $server
if [ $? = 0 ]; then
/home/telnet-client $server user password " rpm -qa | grep qlinux" //sometimes this command h