在Windows操作系统下。
我通过Runtime.getRuntime()。exec()启动一个子进程;我想向进程发送“ ctrl -c”以停止它。
我用Runtime.getRuntime()。exec(“ ping google.com -n
100000”);做了一个小例子。可以在以下位置找到代码:http :
//pastebin.com/f6315063f
到目前为止,我尝试通过Process outputStream发送char‘3’(Ctrl-C字符)。
这是一些代码:
cmd = re.exec("ping google.com -n 10000");
out = new BufferedWriter (new OutputStreamWriter(cmd.getOutputStream()));
input = new BufferedReader (new InputStreamReader(cmd.getInputStream()));
char ctrlBreak = (char)3;
//Different testing way to send the ctrlBreak;
out.write(ctrlBreak);
out.flush();
out.write(ctrlBreak+"\n");
out.flush();
我不想终止该进程,我只想发送Ctrl-C信号。我怎样才能做到这一点?
我相信Ctrl-
C被外壳捕获并转换为信号(SIGINT),该信号被发送到基础进程(在本例中为您生成的进程)。
因此,我认为您需要获取进程ID,然后向该进程发送适当的信号。
然而,当我通过UDP实现它时,我错过了这种方法
问题内容: 我正在构建Android应用程序的项目的C 方面。我需要一些信息(通过字符串和字符串数组)传递给Java应用程序(通过JNI)。我以前从未做过,相反方向的人没有C 的经验,并承认他们不能真正提供帮助。 我确实找到了以下代码(从这里开始) 但这对我来说毫无意义。通常,我不确定如何将其合并到程序的C ++端,而且我无法确切了解其工作原理。代码是否在执行该行时发出消息?还是在for循环中执行
问题内容: 我正在使用Paramiko调用shell,以便通过ssh连接使用CLI。此CLI的问题在于,如果我没有特别使用CTRL + C关闭它,则在不重新启动系统的情况下将无法再次打开该程序。 我尝试了以下命令: 还有另一种称呼方式吗?再次,我使用建立了SSH连接,然后使用调用了外壳,现在我需要向该外壳发送CTRL + C来关闭外壳(不是ssh连接) 问题答案: 在第二个示例中,您处在正确的轨道
问题内容: 我的Java应用程序使用JNI调用用C编写的库。此本地库将错误记录到stderr,但是我想以某种方式通过我的log4j记录器重定向错误流。这可能吗? C库是外部的-我没有源,所以无法更改它。 谢谢 问题答案: 注意:我尚未尝试此答案;YMMV。 POSIX方法将更改与流关联的基础文件。如联机帮助页所述:“ freopen()函数的主要用途是更改与标准文本流(stderr,stdin或s
如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star
我想在登录时向特定用户发送通知,我使用Firebase消息,我可以通过控制台发送通知,但我想使用发送到主题和request以Swift代码发送此通知。当我在postman中运行代码时,我无法实现http请求以发送通知。我有以下错误: 请求缺少身份验证密钥(FCM令牌)。请参阅FCM文档的“认证”部分,网址为https://firebase.google.com/docs/cloud-messagi