Tag: 信号

是否有可能以“延迟”方式捕获Ctrl + C信号并运行清理function?

我想捕获从控制台发送的Ctrl + C ( SIGINT )信号,并打印出部分运行总数。 Golang可能吗? 注意:当我第一次发布这个问题时,我很困惑Ctrl + C是SIGTERM而不是SIGINT 。

在接口类中声明抽象信号

当实现类已经从QObject / QWidget中被驱动出来时,如何在抽象类/接口中声明一个Qt信号? class IEmitSomething { public: // this should be the signal known to others virtual void someThingHappened() = 0; } class ImplementEmitterOfSomething : public QWidget, public IEmitSomething { // signal implementation should be generated here signals: void someThingHappended(); }

如何删除和deleteLater关于Qt中的信号和插槽工作?

有一个类QNetworkReply的对象。 有一个插槽(在其他一些对象)连接到它的完成()信号。 信号是同步的(默认的)。 只有一个线程。 在某个时候,我想摆脱这两个对象。 没有更多的信号或任何从他们。 我想让他们走了。 好吧,我想,我会用 delete obj1; delete obj2; 但我真的可以吗? 〜QObject的规格说: 待处理事件等待传递时删除QObject可能会导致崩溃。 什么是“未决事件”? 这是否意味着我打电话给我的delete ,已经有一些“待处理的事件”被传递,并可能导致崩溃,我不能真正检查是否有任何? 所以我想说我打电话给: obj1->deleteLater(); obj2->deleteLater(); 为了安全起见 但是,我真的很安全吗? 当控制到达时, deleteLater添加一个将在主循环中处理的事件。 是否有一些挂起的事件(信号)已经存在obj1或obj2 ,等待在主循环中处理deleteLater 之前处理? 那将是非常不幸的。 我不想写代码检查'有点删除'的状态,并忽略所有插槽中的input信号。

我可以合并SignalR和RESTful API吗?

我有一个使用ASP.NET开发的单页网页应用程序。 最近,我使用SignalR库将许多web方法转换为基于push的方法。 这确实大大加快了页面,减less了页面上的大量服务器调用。 同时,我也一直在寻找一些服务器端方法的RESTful ASP.NET WebAPI,真正的美妙之处在于它允许在开发的同时为外部应用程序创build一个API核心应用程序(这将是我所做的重要)。 然而,在看了几篇文章和这 两个问题之后,似乎推送和WebAPI方法似乎是客户机 – 服务器通信的两种完全不同的范例。 我敢肯定,我可以创build各种方法,可以通过任何协议访问,但我不确定是否有这个陷阱或如果这被认为是马虎 – 也许有一个更优雅的方式来实现我的目标对于。 当然,我希望RESTful WebAPI通过SignalR集线器广播事件。相反(SignalR需要访问WebAPI)看起来不太可能,但我想还是有可能的。 有没有人做过这个? 有没有人有任何build议或提示如何进行? 这里最优雅的方式是什么?

我应该以什么样的顺序发送信号以正常关机?

评论者对另一个问题的 回答评论说: 除非绝对必要,否则不要使用kill -9! SIGKILL不能被困住,所以被杀的程序不能运行任何关机例程来擦除临时文件。 首先尝试HUP(1),然后INT(2),然后QUIT(3) 我原则上同意SIGKILL ,但其余的消息给我。 鉴于kill发送的默认信号是SIGTERM ,我认为这是任意进程正常closures的最常见的信号。 另外,我已经看到SIGHUP用于非终止的原因,比如告诉守护进程“重新读取你的configuration文件”。 而在我看来, SIGINT (与Ctrl-C相同的中断,对吗?)没有得到广泛的支持,或者是非常不正常的结束。 鉴于SIGKILL是最后的select – 哪些信号,以什么样的顺序发送到一个任意的进程,以尽可能优雅地closures它? 如果可以的话,请提供支持事实(超出个人偏好或意见)或参考资料来证实您的答案。 注:我特别感兴趣的最佳做法,包括考虑bash / Cygwin。 编辑:到目前为止,似乎没有人提到INT或QUIT,并且HUP的提及有限。 有什么理由把这些包括在一个有序的过程中?

如何获得Android的细胞服务信号强度?

我正在尝试编写一个非常简单的Android应用程序来检查当前单元格的信号强度。 到目前为止,我只find了一个叫做getNeighboringCellInfo()东西,但是我不确定是否包含当前单元格。 如何获得Android中的CURRENT信号强度? getNeighborCellInfo()获取当前单元格吗? 它似乎不是基于我已经能够得到的结果。 这是我现在的代码: List<NeighboringCellInfo> n = tm.getNeighboringCellInfo(); //Construct the string String s = ""; int rss = 0; int cid = 0; for (NeighboringCellInfo nci : n) { cid = nci.getCid(); rss = -113 + 2*nci.getRssi(); s += "Cell ID: " + Integer.toString(cid) + " Signal Power (dBm): " + Integer.toString(rss) + […]

在Java中捕获SIGINT

在没有使用JNI的情况下在java中捕获kill信号的最好方法是什么? 我确实发现了sun.misc.Signal和sun.misc.SignalHandler,并警告在未来版本中可能会被删除。 将使用JNI调用ac lib是我唯一的select?

我怎样才能捕获一个CTRL-C事件? (C ++)

如何在C ++中捕获Ctrl + C事件?

SignalR – 使用(IUserIdProvider)向特定用户发送消息* NEW 2.0.0 *

在最新版本的Asp.Net SignalR中,增加了一种使用接口“IUserIdProvider”向特定用户发送消息的新方法。 public interface IUserIdProvider { string GetUserId(IRequest request); } public class MyHub : Hub { public void Send(string userId, string message) { Clients.User(userId).send(message); } } 我的问题是:我如何知道我要向谁发送信息? 这个新方法的解释是很肤浅的。 和SignalR 2.0.0的草案声明,并且不会编译。 有没有人实现这个function? 更多信息: http : //www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections#IUserIdProvider 拥抱。

我怎样才能捕获SIGSEGV(分段错误),并得到在Android上的JNI下的堆栈跟踪?

我将项目移动到新的Android本地开发工具包(即JNI),我想赶上SIGSEGV,如果它发生(也可能是SIGILL,SIGABRT,SIGFPE),以提供一个很好的崩溃报告对话框,而不是(或之前)目前发生的事情:该进程的直接不必要的死亡,以及操作系统可能尝试重启该进程。 ( 编辑: JVM / Dalvik虚拟机捕捉信号并logging堆栈跟踪和其他有用的信息;我只是想提供给用户的选项,真正的电子邮件信息给我)。 情况是:大量的C代码我没有写在这个应用程序的大部分工作(所有的游戏逻辑),虽然它在许多其他平台上经过了充分的testing,但是我完全有可能在我的Android端口,会喂它垃圾并导致在本机代码崩溃,所以我想崩溃转储(本机和Java),目前在Android日志中显示(我想这将是在非Android情况下stderr)。 我可以自由地修改C和Java代码,尽pipecallback函数(进出JNI)的数量大约为40,显然,小差异的奖励点。 我听说过J2SE中的信号链接库libjsig.so,如果我可以在Android上安全地安装一个信号处理程序,这将解决我的问题的捕捉部分,但是我看不到Android / Dalvik这样的库。