精华内容
下载资源
问答
  • 后台运行
    千次阅读
    2022-04-04 20:45:15

    如何开启

    1.nohup

    用途:不挂断地运行命令。

    语法:nohup Command [ Arg … ] [ & ]

      无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。

      如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

      如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

    退出状态:该命令返回下列出口值:   

      126 可以查找但不能调用 Command 参数指定的命令。   

      127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。   

      否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
     

    2.&

    用途:在后台运行

    一般两个一起用

    nohup command &

    举个例子:

    nohup python3 main.py >> main.log 2> &1 &

    0:代表 – stdin (standard input)标准输入

    1: 代表– stdout (standard output)标准输出

    2 :代表– stderr (standard error) 标准错误

    2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到main.log文件中。

     0 22 * * * /usr/bin/python /home/pu/download_pdf/download_dfcf_pdf_to_oss.py > /home/pu/download_pdf/download_dfcf_pdf_to_oss.log 2>&1

    这是放在crontab中的定时任务,晚上22点时候怕这个任务,启动这个python的脚本,并把日志写在download_dfcf_pdf_to_oss.log文件中

    此时查看进程:

    可见服务已经正常在后台运行了!

     
    如何关闭:

    第一种方法:jobs -l

    此下方出现了正在运行的进程pid

    运行 kill  -9  [想要关闭的进程的pid]即可关闭进程

    第二种方法:ps -ef | grep python3   |   ps -aux | grep python3 ....

    可见和上面的方法得到了一样的结果

    第三种方法:lsof -i tcp:8888

    通过查询端口的方式一样可以得到进程号!

    更多相关内容
  • Linux后台运行程序最实用的两种方式

    万次阅读 多人点赞 2020-12-16 17:16:23
    在Linux后台跑程序什么最好用?拒绝花里胡哨,运维大佬教你最实用的两招!快,快上车~

      Linux如何在后台跑程序?是刚接触Linux的同学都会遇到的问题。大家使用Linux操作系统时,或许都遇到过以下类似场景。

    • 场景1:我用xshell通过 telnet/ssh 远程登录服务器,跑脚本或执行一些耗时较长的任务,有时会因为网络不稳定或手贱等原因断开我的控制终端(如:xshell、sourceCRT)的远程连接状态,导致花费大量时间执行的程序又要重新跑;真难受!

    • 场景2:我需要长时间稳定的跑脚本,希望能在Linux后台跑,关掉xshell也没事,且随时可以回来看输出信息或操作。

      如果你曾被这类问题困扰过,或现在正为此发愁?那么请往下看。本文给大家分享我们在运维工作过程中最常用也最实用的两种后台跑程序方式。记得Mark

    应对手段

      我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程(包括sshd及其子进程)。

    因此,我们的解决办法就有两种途径(对应以下两种方式):

    • 让进程忽略 HUP 信号,
    • 让进程运行在新的会话里从而成为不属于此终端的子进程。

    方式一:nohup 命令 &

      nohup 是我们最常用的办法。顾名思义,nohup 就是让提交的命令忽略 hangup 信号。从而当ssh连接状态断开时,不会被系统中断掉。nohup 在使用上十分方便,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上 & 表示将命令放入后台运行。

    比如我们测试在后台执行 ping www.baidu.com 命令,如下即可:

    nohup ping www.baidu.com &
    

    在这里插入图片描述

    同时,会在输入命令的目录下生成一个nohup.log日志文件(如已有该文件则继续使用)

    当然,也可加上 >filename 2>&1 来自行更改日志输出的目录及文件filename。如下:

    nohup ping www.baidu.com > /home/myout.log 2>&1 &
    

    在这里插入图片描述

    方式二:screen

      我们认为Screen是目前最实用的Linux后台运行工具之一。简单的说,screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端,每个伪终端我们称之为一个session。

      相当于我们可以用xshell打开多个连接(session),不用时可以将这些连接置为离线状态 - Detached离线状态下session中的程序会正常运行,也就是后台运行,并随时可以恢复继续使用,恢复使用时为Attached在线状态,说明有人正在使用。

    1、如何使用screen

    在这里插入图片描述

      上图是screen的session列表,图中Attached代表有其他终端正在使用这个session,Detached说明session处于离线状态,

    下面一起来看一下我们使用Screen时,常用的一些命令:

    screen -S name -> 创建一个名为:name 的session(伪终端)
    
    screen -R name -> 先试图恢复离线的session。若找不到离线的,即建立新的session(伪终端)
    
    screen -ls -> 列出所有已经存在的session
    
    ctrl + a + d -> 退出当前的session
    
    screen -d name -> 将指定的session作业离线。
    
    screen -d -r name -> 离线当前session,恢复并回到name这个session
    
    kill (session进程号) -> 杀掉某个session进程
    

    实际操作流程示例
    1、创建一个名称为“chh”的session。

    # 创建方式一
    screen -S chh
    # 创建方式二
    screen -R chh
    

    2、创建后会自动进入session,进行相关操作。
    在这里插入图片描述

    3、通过ctrl + a + d退出当前session,使其后台(离线)运行
    在这里插入图片描述

    4、screen -ls 查看session列表
    在这里插入图片描述

    5、通过screen -r chhscreen -r 9043(进程号)登录离线session

    6、杀掉“chh”这个session

    kill 9043(进程号)
    

    2、screen 工具需安装

    • 如果你使用yum软件包管理工具:yum install screen
    • 如果你使用APT软件包管理工具:apt-get install screen

    另:手动下载地址:http://ftp.gnu.org/gnu/screen/

    3、screen 后台运行原理

    我们可以通过查看进程树来理解screen是如何不受ssh断开影响的。

    • 这是不用screen的普通运行方式及进程树
    [root@pvcent107 ~]# ping www.baidu.com &
    [1] 9499
    [root@pvcent107 ~]# pstree -H 9499
    init─┬─Xvnc
         ├─acpid
         ├─atd
         ├─2*[sendmail]	
         └─sshd─┬─sshd───sshd───bash───ping
                └─sshd───sshd───bash───pstree
    

      我们可以看出,未使用 screen 时我们所处的 bash 是 sshd 的子进程,当 ssh 断开连接时,HUP 信号自然会影响到它下面的所有子进程(包括我们新建立的 ping 进程),杀掉所有子进程。

    • 再看看使用 screen 运行进程的进程树
    [root@pvcent107 ~]# screen -r chh
    [root@pvcent107 ~]# ping www.baidu.com &
    [1] 9488
    [root@pvcent107 ~]# pstree -H 9488
    init─┬─Xvnc
         ├─acpid
         ├─atd
         ├─screen───bash───ping
         ├─2*[sendmail]
    

      如图可见,bash 是 screen 的子进程,而 screen 是 init(PID为1)的子进程。那么当 ssh 断开连接时,HUP 信号自然不会影响到 screen 下面的子进程了。

    附、一张有故事的照片(十三)

    在这里插入图片描述

    最近这个图在我朋友圈刷屏了
    是 LOL 的 s1 界面
    看到时心中五味杂陈
    那时,我还是个意气风发的网瘾少年
    还有梦想
    十年之后

    展开全文
  • android app后台运行

    千次阅读 2020-09-09 13:51:42
    Android app后台运行可行方案需求由来方案代码实现 需求由来 最近一个项目由于特殊原因,好几个不懂技术的人来当甲方,人人都是产品经理,没有项目经理,功能和实现细节要自己想自己定,再加上个比较无语的**(代码...

    Android app后台运行可行方案

    需求由来

    最近一个项目由于特殊原因,好几个不懂技术的人来当甲方,人人都是产品经理,没有项目经理,功能和实现细节要自己想自己定,再加上个比较无语的**(代码逻辑和实现方案让你吃惊),具体就不吐槽了。把自己得事情做好,把心态放平稳些。

    我的印象里让应用后台保持运行这个功能一直都被提过。。。这个功能真的让人心烦,也让用户心烦,反正我得手机上如果我发现有这样得没有必要得应用,我都会干掉他。

    方案

    应用后台保活,后台运行,长时间后台任务这些说法,目前我接触到最靠谱得还是通过系统提供的方式,那些启动各种服务等等的都不行;如果要是设备上的系统应用的话(使用mtk或者其他厂商的原生android系统),那只通过启动服务,广播这些就可以帮你完成大部分需求,适量添加接下来的功能;如果要是安装到手机的普通应用的话,还是需要系统和厂家提供的方式最靠谱,但也有一些弊端,需要引导用户去设置。

    代码实现

    1: 忽略电池优化:
    有些手机设置这一项就可以达到系统不清理当前应用的效果,例如我这个三星测试机;调用后会有系统的弹窗,api在23及以上,提供查询api和弹窗设置;代码如下
    
    // 权限
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
    
    // 查询是否允许
    @RequiresApi(api = Build.VERSION_CODES.M)
    fun isIgnoringBatteryOptimizations(context: Context): Boolean {
        var isIgnoring = false
        val powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager?
        if (powerManager != null) {
            isIgnoring = powerManager.isIgnoringBatteryOptimizations(context.packageName)
        }
        return isIgnoring
    }
    
    // 通过系统弹窗让用户设置
    @RequiresApi(api = Build.VERSION_CODES.M)
    fun requestIgnoreBatteryOptimizations(context: Context) {
        try {
            val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
            intent.data = Uri.parse("package:" + context.packageName)
            context.startActivity(intent)  // 此处如需要回调的话那就使用另一种方式开启
        } catch (e: java.lang.Exception) {
            e.printStackTrace()
        }
    }
    
    2:通过各自手机厂商的系统应用去管理当前应用可后台运行;引导用户去设置时需要提示用户如何操作,不管是弹窗也好,开启页面图文说明也好总是是要提示用户的;我这里就简单通过弹窗来提示操作;我分为两部分,前部分为统一的,就是为啥需要开启这些,给用户说明一下;另一部分就是针对不同厂家的手机做不同的提示说明了。如下代码
    
    /**
    * 相关的描述看里面注释,自己照着可以做适当修改
    */
    fun getDesc(context: Context): String {
    	// 这个描述简单说明下为什么需要开启这些设置;后面再加个换行符
        val baseDesc = context.resources.getString(R.string.permissionsutil_getdesc_desc_top)
        if (RomUtils.isHuawei()) {
        	//关闭应用的自动管理,设置允许后台活动和自启动
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_huawei)
        } else if (RomUtils.isXiaomi()) {
        	//授权管理 -> 自启动管理 -> 允许应用自启动和后台活动
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_xiaomi)
        } else if (RomUtils.isOppo()) {
        	//授权管理 -> 自启动管理 -> 允许应用自启动和后台活动
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_oppo)
        } else if (RomUtils.isVivo()) {
        	//权限管理 -> 自启动 -> 允许应用自启动和后台活动
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_vivo)
        } else if (RomUtils.isMeizu()) {
        	//权限管理 -> 后台管理 -> 允许应用后台运行
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_meizu)
        } else if (RomUtils.isSamsung()) {
        	//自动运行应用程序 -> 打开应用开关;设置应用可后台运行相关选项
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_samsung)
        } else if (RomUtils.isLeeco()) {
        	//自启动管理 -> 允许应用自启动
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_leeco)
        } else if (RomUtils.isSmartisan()) {
        	//权限管理 -> 自启动权限管理;设置应用可后台运行相关选项
            return baseDesc + context.resources.getString(R.string.permissionsutil_getdesc_desc_smartisan)
        } else {
            return baseDesc
        }
    }
    
    

    在弹窗里引导用户去设置后代码如下:

    fun showActivity(context: Context, packageName: String) {
        val launchIntentForPackage = context.packageManager.getLaunchIntentForPackage(packageName)
        context.startActivity(launchIntentForPackage)
    }
    
    fun showActivity(context: Context, packageName: String, activityDir: String) {
        val intent = Intent().apply {
            component = ComponentName(packageName, activityDir)
            addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
        }
        context.startActivity(intent)
    }
    
    fun showActivityForMeizu(context: Context){
        val intent = Intent()
        val unflattenFromString = ComponentName.unflattenFromString("com.meizu.safe.permission.PermissionMainActivity")
        intent.setComponent(unflattenFromString)
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
        context.startActivity(intent)
    }
    
    
    fun showDetailActivity(context: Context){
        val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
            setData(Uri.fromParts("package",context.packageName,null))
        }
        context.startActivity(intent)
    }
    

    下面代码里有很多打印和异常处理,根据自己需要修改,可以试试自己的测试机跳的页面对不对,如果不对通过adb找对应的路径。 做下异常处理 下面的代码有些机型没有测试,最后出异常直接跳到应用详情里去

    fun checkBackgroundPermission(context: Context) {
        if (isHuawei()) { // 应用启动管理 -> 关闭应用开关 -> 打开允许自启动
            LogUtil.e("checkBackgroundPermission", "isHuawei")
            try {
                showActivity(context,
                        "com.huawei.systemmanager",
                        "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity")
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isHuawei e: " + e.message)
                try {
                    showActivity(context,
                            "com.huawei.systemmanager",
                            "com.huawei.systemmanager.optimize.bootstart.BootStartActivity")
                } catch (e: Exception) {
                    showDetailActivity(context)
                }
            }
        } else if (isXiaomi()) { // 授权管理 -> 自启动管理 -> 允许应用自启动
            LogUtil.e("checkBackgroundPermission", "isXiaomi")
            try {
                showActivity(context,
                        "com.miui.securitycenter",
                        "com.miui.permcenter.autostart.AutoStartManagementActivity")
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isXiaomi e: " + e.message)
                showDetailActivity(context)
            }
        } else if (isOppo()) { // 权限隐私 -> 自启动管理 -> 允许应用自启动
            LogUtil.e("checkBackgroundPermission", "isOppo")
            try {
                showActivity(context, "com.coloros.phonemanager")
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isOppo e: " + e.message)
                try {
                    showActivity(context, "com.coloros.oppoguardelf")
                } catch (e: Exception) {
                    try {
                        showActivity(context, "com.coloros.safecenter")
                    } catch (e: Exception) {
                        showDetailActivity(context)
                    }
                }
            }
        } else if (isVivo()) { // 权限管理 -> 自启动 -> 允许应用自启动
            try {
                if (Build.VERSION.SDK_INT >= 26) {
                    showActivity(context, "com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.PurviewTabActivity")
                } else {
                    showActivity(context, "com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.SoftwareManagerActivity")
                }
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isVivo e: " + e.message)
                try {
                    showActivity(context, "com.iqoo.secure")
                } catch (e: Exception) {
                    showDetailActivity(context)
                }
            }
    
        } else if (isMeizu()) { // 权限管理 -> 后台管理 -> 点击应用 -> 允许后台运行
            LogUtil.e("checkBackgroundPermission", "isMeizu")
            try {
                showActivity(context, "com.meizu.safe")
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isMeizu e: " + e.message)
                try {
                    showActivityForMeizu(context)
                } catch (e: Exception) {
                    showDetailActivity(context)
                }
            }
        } else if (isSamsung()) { // 自动运行应用程序 -> 打开应用开关 -> 电池管理 -> 未监视的应用程序 -> 添加应用
            LogUtil.e("checkBackgroundPermission", "isSamsung")
            try {
                showActivity(context, "com.samsung.android.sm_cn")
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isSamsung e: " + e.message)
                try {
                    showActivity(context, "com.samsung.android.sm")
                } catch (e: Exception) {
                    showDetailActivity(context)
                }
            }
        } else if (isLeeco()) { // 自启动管理 -> 允许应用自启动
            LogUtil.e("checkBackgroundPermission", "isLeeco")
            try {
                showActivity(context,
                        "com.letv.android.letvsafe",
                        "com.letv.android.letvsafe.AutobootManageActivity")
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isLeeco e: " + e.message)
                showDetailActivity(context)
            }
        } else if (isSmartisan()) { // 权限管理 -> 自启动权限管理 -> 点击应用 -> 允许被系统启动
            LogUtil.e("checkBackgroundPermission", "isSmartisan")
            try {
                showActivity(context, "com.smartisanos.security")
            } catch (e: Exception) {
                LogUtil.e("checkBackgroundPermission", "isSmartisan e: " + e.message)
                showDetailActivity(context)
            }
        }
    }
    

    基本就这些了,各位可以自己copy下来调试调试。可以参考下下面这篇文章,当时特意下了悦跑圈来看这个应用怎么实现的,也感谢作者的开源精神。添加链接描述
    https://juejin.im/post/6844904023955341319

    展开全文
  • ssh如何后台运行程序

    千次阅读 2021-08-01 17:46:06
    ssh后台运行程序 设想这样一种情况: 你使用ssh客户端(如putty或xshell),正在使用Linux服务器跑一个程序或下载一个东西,突然你网线被人动了一下或网络环境发生了不稳定现象,甚至电脑突然没电了 ...

    ssh后台运行程序

    设想这样一种情况:

    你使用ssh客户端(如puttyxshell),正在使用Linux服务器跑一个程序或下载一个东西,突然你网线被人动了一下或网络环境发生了不稳定现象,甚至电脑突然没电了,辣么,你正在运行的程序就不得不从头再来。

    screen的出现很好地解决了这一痛点

    安装screen

    Jeaten:~$ apt-get install screen
    

    —— 此安装以Ubuntu系统为例

    screen的使用

    • 直接输入screen即可创建screen终端
    Jeaten:~$ screen
    
    • 显示现有的screen作业 – screen -ls
    Jeaten:~$ screen -ls
    There are screens on:
            29371.pts-1.X10DAx-1    (2021年08月01日 20时08分45秒)   (Attached)
            29295.pts-1.X10DAx-1    (2021年08月01日 20时07分36秒)   (Detached)
    2 Sockets in /run/screen/S-Jeaten.
    
    • 离开现有的screen
      screen终端先按Ctrl +a,再按Ctrl+d

    • 重新连接现有的screen

    Jeaten:~$ screen -r screen_id
    

    —— screen_id为screen id号或进程号

    • 退出(直接结束)现有的screen,方法有二:
    Jeaten:~$ screen -ls
    There are screens on:
            29450.pts-1.X10DAx-1    (2021年08月01日 20时13分31秒)   (Attached)
            29371.pts-1.X10DAx-1    (2021年08月01日 20时08分45秒)   (Detached)
    2 Sockets in /run/screen/S-Jeaten.
    
    1. 直接kill pid(进程号)
    Jeaten:~$ kill 29450
    [screen is terminating]
    Jeaten:~$ screen -ls
    There is a screen on:
            29371.pts-1.X10DAx-1    (2021年08月01日 20时08分45秒)   (Detached)
    1 Socket in /run/screen/S-Jeaten.
    
    1. 使用screen -S screen_id -X quit
    Jeaten:~$ screen -ls
    There is a screen on:
            29371.pts-1.X10DAx-1    (2021年08月01日 20时08分45秒)   (Detached)
    1 Socket in /run/screen/S-lijitong.
    Jeaten:~$ screen -S 29371 -X quit
    Jeaten:~$ screen -ls
    No Sockets found in /run/screen/S-Jeaten.
    Jeaten:~$
    
    • 有时候仅凭screen id无法区分具体的screen,我们可以为其命名
      使用命令 screen -S 名字即可
    Jeaten:~$ screen -S test
    Jeaten:~$ screen -ls
    There is a screen on:
            23800.test      (2021年08月02日 10时09分44秒)   (Attached)
    1 Socket in /run/screen/S-Jeaten.
    Jeaten:~$ 
    
    展开全文
  • Linux下后台运行几种方法

    万次阅读 2021-12-16 17:07:56
    将程序以忽略挂起信号的方式运行起来 补充说明 nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录...
  • shell 后台运行

    千次阅读 2021-04-14 14:31:04
    一、后台运行脚本1 1、执行脚本test.sh:./test.sh 2、中断脚本test.sh:ctrl+c 3、在1的基础上将运行中的test.sh,切换到后台并暂停:ctrl+z 4、执行ctrl+z后,test.sh在后台是暂停状态(stopped),使用命令:...
  • Linux - Python程序nohup后台运行

    千次阅读 2022-04-02 13:49:14
    nohup指不断地运行,是no hang up的缩写,指不间断,不挂断。运行一个进程的时候,不想让其在你退出账号时关闭,即可用nohup。 nohup在不规定的情况下,所以输出内容会到nohup.out中。 运行Python程序 nohup python...
  • docker 容器后台运行

    千次阅读 2022-04-30 14:21:00
    容器后台运行 问题 想要后台启动容器进行调试 方案一 docker run -d <image_name> tail -f /dev/null 方案二 docker run -i -t <image_name> [command] 然后Ctrl+P+Q即可退出控制台,但是容器没有退出,...
  • 安卓APP锁定后台运行的方法

    万次阅读 2021-05-26 10:36:00
    因为安卓系统后台程序限制,软件在长时间挂后台运行时会被系统杀掉,可以将程序加入清理白名单中,并在手机系统设置中的“电池->后台高耗电中允许软件后台高耗电”具体方法如下:1.将应用加入到清理白名单中方法...
  • Linux命令后台运行

    万次阅读 多人点赞 2021-07-17 11:04:51
    Linux后台运行命令有两种方式: cmd & : 后台运行,关掉终端会停止运行 nohup cmd & : 后台运行,关掉终端不会停止运行 方式一:cmd & cmd & 实现让命令在后台运行。但不要将有用户交互的命令...
  • 如何在后台运行 Linux 命令

    千次阅读 2021-09-28 14:25:58
    幸运的是,您可以通过一些简单的方法在后台运行 Linux 命令。本文的其余部分说明了其中一些方法。 1、在你的命令后添加一个 & 运行 Linux 后台命令的最简单方法是在命令后添加与号 (&)。例如,如果从终端...
  • 在android 中WakeLock的相关 API可以确保应用程序中后台任务一直运行,使应用程序有能力控制APP的休眠状态。 WakeLock锁机制 当应用申请了WakeLock权限调用相关api后,WakeLock会阻止APP挂起,系统无法进入休眠,即使...
  • LabVIEW应用程序后台运行

    千次阅读 2022-05-03 11:40:27
    本篇博文分享LabVIEW虽然不常用但是很有意思的一个开发技巧:应用程序后台运行。运行程序后自动隐藏前面板窗口和任务栏图标。
  • linux后台运行python程序

    千次阅读 2022-04-16 11:05:05
    1. 后台运行代码命令 nohup python -u ***.py >***.log 2>&1 & #生成后台任务[jobnum] PID [1] 25282 nohup 加在命令的最前面,表示不挂断的运行命令 -u 不缓存,立即加载终端数据 .log 终端...
  • 【Java】部署jar包并后台运行

    千次阅读 2021-03-15 13:06:32
    Linux环境部署:1、执行...注: 关闭服务器连接时会关闭此程序进程,(推荐测试可用)2、将jar程序设置成后台运行,并且将标准输出的日志重定向至文件msg.lognohup java -jar jarName-0.0.1-SNAPSHOT.jar >msg.log 2&...
  • windows 后台运行cmd命令

    千次阅读 2022-02-04 21:38:38
    #include <windows.h> int main() { WinExec("\"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\\pythonw3.8.exe\" D:\\KeymouseGo-3.2.2\\KeymouseGo....
  • springboot项目后台运行

    千次阅读 2021-11-26 21:41:48
    1. 后台运行程序 每次在终端运行程序时,这个终端就不能再输入别的命令了,这很不爽,我们需要它后台运行。 //需药在前面加入nohup ,后面加入& nohup java -jar drug-0.0.1-SNAPSHOT.jar & 2.关闭后台程序...
  • linux下如何让脚本在后台运行

    千次阅读 2021-06-28 14:29:34
    在服务器中我们经常需要将一些脚本挂在后台继续运行,而不是随着我们切断一段会话就结束了运行,常见的作法有如下几种,下面就进行简单的总结: 1.nohup 安装: which nohup ###查看/usr/bin目录下有没有nohup...
  • docker容器的前台后台运行

    万次阅读 2021-06-22 20:29:46
    文章目录容器运行时的 -dit 选项默认:前台运行,stdout 和 stderr 转接出来,而stdin关了前台 -t前台 -i前台 -itdetach模式前后台切换--attach-i 和 -a注:bash 镜像 容器运行时的 -dit 选项 2021-06-22 docker run...
  • uniapp后台运行

    千次阅读 2021-05-16 09:47:59
    uniapp后台运行 加载main.js任意位置 let main = plus.android.runtimeMainActivity(); //为了防止快速点按返回键导致程序退出重写quit方法改为隐藏至后台 plus.runtime.quit = function() { main.moveTaskToBack...
  • Windows如何后台运行bat文件

    千次阅读 2022-05-05 11:06:37
    Windows如何后台运行bat文件 Bat脚本里有隐藏窗口的命令,很简单,只需要在代码头部加一段代码就可以了。 @echo off if "%1"=="h" goto begin start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" ...
  • linux将任务放到后台运行的方式

    千次阅读 2020-12-30 01:34:18
    1、使用nohupnohup command [ arg … ]command是命令的意思,arg既为command命令的参数,理解为nohup加强了command的意思​ nohup 是no hang up的缩写,意思是不挂起运行。例如现在终端(XShell等)需要执行一个shell...
  • Linux终端进程后台运行与前后台切换

    千次阅读 2022-03-23 14:26:06
    Linux运行py脚本的一些简单操作,用以备忘
  • Windows-后台运行python等程序

    千次阅读 2022-03-13 06:09:28
    是不是有种强迫症,不想看到它,但又要让它后台运行? 1.bat脚本准备好 如需要后台运行main.py程序入口 python main.py 2.vbs脚本 如下命令中需要后台运行 start.bat 文件 Set ws = CreateObject("Wscript.S...
  • php程序后台运行的实现方法

    千次阅读 2021-03-23 16:27:16
    网页上执行一个php,然后关闭页面,能否让该后台程序还是能运行,每个5秒发封邮件可以,但是很危险ignore_user_abort(true)通过设置php的运行状态可以实现关闭浏览器后php程序继续运行所以说——可以你需要“每个5...
  • 运行jar java -jar xxx.jar 这种方式运行jar 终止jar运行方式: 1、ctr+c 2、关闭窗口就可以停止运行该jar 后台运行jar java -jar xxx.jar &...nohup代表程序后台运行,程序日志会输出到当前目录下的nohup.o.
  • windows后台运行JAVA jar包

    千次阅读 2022-06-16 09:17:54
    学习过程中遇到了想在win上运行一个自己写的便签程序,然后总占据一个黑窗口,看着很别扭,所以就想让它到后台运行,故总结记录一下:首先在与jar包同一目录下,创建start.txt和shutdown.txt表示运行和停止。...
  • linux 后台运行 nohup

    千次阅读 2021-12-16 09:35:43
    比如我想要我的gophish运行后台,那么执行 nohup ./gophish & 就可以 执行之后会在当前目录生成一个nohup.out文件,用来记录日志,如果当前目录不可写,就会在 $HOME/nohup.out 生成 这样生成的进行就会一种...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 993,400
精华内容 397,360
关键字:

后台运行

友情链接: SAPBCABAPProgramming.rar