首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java 程序驻留不退出保持运行

前言 不管是C、java、go 程序,要让程序一直不间断动行,就肯定需要保持线程不退出,才能可能持续运行。...今天说的是java,一般来说从main方法开始运行结束之后,线程也就退出,如何保证线程不退出? 实际上只要证保有一个线程在持续运行程序就不算退出。...保持运行 上面说了,思路都量样的,就是阻塞一条线程,让JVM不要退出,一般是阻塞主线程main,让他阻塞不退出,直到需要退出的时候再限出。...) 这几种方式,不是阻塞,就是睡眠,大概思路都差不多,就是 读取流 通过阻塞主线程,来验证一下,运行后就可以看到service的run方法执行完后,程序也不会退的。...这种方式比较有效的控制线程的阻塞、运行状态给程序一个除了kill线程之外的另一个选择。我个从比较喜欢这种方式,虽然最后大部分时候退出程序都是使用的kill -15,但是写程序就是要预留出扩展性。

46740
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 终端退出一个程序的操作命令

Linux 里中止程序Linux ,你可以使用 Ctrl+C 键来中止终端运行程序。这对 Ubuntu 和其他 Linux 发行版都适用。 以 ping 命令为例。...它向正在运行程序发送 SIGINT 信号以强制退出该命令。 Stopping a program in the Linux terminal 你看到 ^C 了吗?这个插入符号(^)代表 Ctrl。...Ctrl+C 对于那些被设计为持续运行直到被打断的命令非常有效。你觉得你需要取消命令,就用 Ctrl+C。 在一个更复杂的方法,你可以 找到进程 ID 并杀死一个正在运行的进程。...如何退出终端 要退出终端本身,不是关闭终端,而是使用 Ctrl+D 键盘快捷键或输入退出命令: exit 这实际上是让你从当前的 shell 退出。...当你在 Ubuntu 或其他发行版打开一个终端,它会运行默认的 shell。当你从这个 shell 退出时,终端也会结束。Ctrl+D 是做同样事情的快捷方式,并退出终端。

4.8K20

Linux下可以替换运行程序么?

今天被朋友问及“Linux下可以替换运行程序么?”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。...结果朋友发来一个执行结果:(test正在运行) # cp test2 test cp: cannot create regular file `test': Text file busy 看起来是程序被占用...Linux由于Demand Paging机制的关系,必须确保正在运行程序镜像(注意,并非文件本身)不被意外修改,因此内核在启动程序后会锁定这个程序镜像的inode。...不过想想也可以宽恕,毕竟ld也是用户态程序,没有权利去锁定inode,也不应与内核的文件系统底层实现耦合。 到这里都还算在情理之中,看起来Linux也都处理的很好。...在思考这个问题的过程,我意识到前面这个测试程序的一个致命漏洞,稍作修改如下: #include int main(int argc, char * argv[]) { loop: foo(

6.3K20

Linux后台运行jar程序

Linux后台运行jar程序Linux系统,有时候我们需要将Java程序以后台进程的方式运行,以便在关闭终端或退出登录时仍然保持程序运行状态。...本文将介绍如何在Linux后台运行一个Java的jar程序。准备工作在开始之前,确保您的Linux系统已经安装了Java运行环境(JRE 或 JDK)。...&在上述命令,nohup命令用于使程序忽略SIGHUP信号,并继续在后台运行。...通过以上步骤,您就可以在Linux系统成功地将一个Java的jar程序以后台进程的方式运行起来。示例代码,以帮助理解:shellCopy code#!...fi在上述示例代码,我们首先通过cd命令进入了存放jar程序的目录。然后,使用pgrep命令检查是否已有同名的后台进程在运行。如果已经有同名的进程在运行,输出提示信息并结束脚本的执行。

22410

C#控制台程序后台运行退出

; //Console.ReadKey(); Thread.Sleep(-1); } linux系统用后台运行时 Console.ReadKey();还是会退出程序。...在Linux系统上,当使用Console.ReadKey()方法时,它会等待用户在终端输入一个字符,并且在接收到输入后继续执行程序。...但是,当程序以后台模式运行时,终端无法接收到用户的输入,因此程序会在等待用户输入时终止。...因此,如果您希望在Linux系统上以后台模式运行程序,并且需要程序一直运行而不受用户输入的影响,可以使用Thread.Sleep(-1)方法来代替Console.ReadKey()。...请注意,这些行为在不同的操作系统和编程语言环境可能会有所不同。上述解释是基于Linux系统和C#编程语言的背景。

29920

linux vi命令 退出不保存,linux vi保存退出命令(如何退出vi)

命令功能相同,连按两次大写字母Z,编辑文件没有被保存,然后Vi并不退出, 在命令模式,则Vi保存该文件后退出。...newfile 否则可选择另外的文件名来保存当前文件,若当前编辑的文件曾被修改过,但并不退出,若用户就是不想保存被修改后的文件而要强行退出Vi时, 在末行模式下,则Vi直接退出, 返回到shell,若newfile...to overrides) 提示用户该文件被修改后没有保存,可以再给编辑文件起一个新的文件名,输入命令 :q 系统退出Vi返回到shell,继续等待用户命令。...在使用w命令时, , [例6] :w newfile 此时Vi将把当前文件的内容保存到指定的newfile,而是继续等待用户输入命令,而原有文件保持不变。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187580.html原文链接:https://javaforall.cn

26.8K20

linux编译运行c++程序

要求保存程序名为count-character-in-string.cc,运行方式为 ..../count-character-in-string your-string 在linux环境下编译运行c++我也是第一次,同时他这种运行方式也和我之前在win下的不一样,在win下我都是直接编译运行,...这个题目的要求就是在执行的程序后面跟上一串输入,而这个操作,需要在main函数添加特定的参数 #include using namespace std; int main(int...首先通过linux自带的编辑软件创建一个test.cc文件 demeen@VM-0-4-ubuntu:~/cpp_code$ nano test.cc 然后将上述代码复制进去,依次摁下ctrl+o,Enter.../test" argv[1] = "abcd" argv[2] = "hello" argv[3] = "world" char *argv[]指向的数组至少有一个字符指针,即argv[0],他通常指向程序的可执行文件的文件名

9.4K20

Linux系统运行WinForm程序

Linux系统下,虽然也有桌面窗体应用程序,但应用很少。 能否将WinForm程序移植到Linux系统上面呢?...下面我们看看一个简单的WinForm程序在Redhat的运行效果: 显示效果不错,跟在Windows下面的VS2008的设计界面一致,但有一个致命Bug,就是窗体无法接收键盘事件,尽管使用鼠标没有任何问题...,下面是该虚拟机的系统桌面: 在它的英文环境下,运行MonoWinForm程序,除了汉字无法显示,没有Redhat的无法输入文字的问题 切换OpenSUSE系统到简体中文环境,再次运行MonoWinForm...总结: 目前在Linux平台上运行WinForm程序基本上是可行的,推荐使用OpenSUSE发行版,不过对WinForm应用程序的中文支持还有问题。...如果要开发真正跨平台的窗体应用程序,推荐使用Gtk#做开发,它开发出的.NET程序,即可运行Linux系统,也可以运行在Windows系统。

6.1K70

idea运行jar程序

IDEA中进行白盒测试–java竟然也在学python 前言:今天在学习大数据的项目的时候遇到了jar包。我之前就有看到在jdk是有很多的jar包的。请看图如下。...jdkjar包确实很多,怪不得我们的程序都得以来jdk才能运行。 但是没想到这一次我直接使用了单独的jar包对一个纯方法进行运行,而且还可以多次运行,不会报错。...没错,我们可以绕过main方法,不要写main方法就可以直接运行我们所写的任何方法。例如上面的代码,但是@Test一定要写,不然会识别不出来的。...右击项目, 选择new => directory : 在项目下创建新目录 lib 把需要的.jar文件复制到这个目录 右击每一个.jar文件, 点击 “Add as Library”,

94430

linux怎么修改命令行怎么退出,linux vi保存退出命令(如何退出vi)

有很多方法: 退出Vi 当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。...在命令模式,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell。...[例6] :w newfile 此时Vi将把当前文件的内容保存到指定的newfile,而原有文件保持不变。...to overrides) 提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令 :q!...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188401.html原文链接:https://javaforall.cn

20.3K40
领券