MacOS 禁止应用自启动--FortiClient

MacOS 禁止应用自启动–FortiClient

安装了公司内网VPN软件FortiClient,它一直自动启动,因为这个应用使用率很低所以强迫症的我不能容忍它每次自动启动,按照网上提示找到:系统设置–>用户与群组–>登录项,但该应用并没有配置在这里。

网上查找了一下需要更改两处配置文件:
/Library/LaunchAgents/com.fortinet.forticlient.credential_store.plist
/Library/LaunchAgents/com.fortinet.forticlient.fct_launcher.plist

把这两个文件中的:< key >RunAtLoad< /key >< true / >都改为:< false / >

以下内容为转载:
(作者:先呼吸 https://www.bilibili.com/read/cv16320055 出处:bilibili)
macOS 中的启动项都会以 .plist 的文件形式存储在系统的几个 Library 目录中,不同 Library 目录,其作用也不同。以下分别是各个启动项存储目录以及其作用。

/Library/LaunchDaemons: 系统启动时运行,用户不登录也会运行。
/Library/LaunchAgents: 用户登录后运行。
~/Library/LaunchAgents: 用户自定义的用户启动项
/System/Library/LaunchDaemons: 系统自带的启动项
/System/Library/LaunchAgents: 系统自带的启动项
与此同时,每个 .plist 文件中,都会有三个属性控制着是否开机自动启动。

KeepAlive : 决定程序是否需要一直运行,如果是 false 则需要时才启动。默认 false
RunAtLoad : 开机时是否运行。默认 false。
SuccessfulExit : 此项为 true 时,程序正常退出时重启(即退出码为 0);为 false 时,程序非正常退出时重启。此项设置时会隐含默认 RunAtLoad=true,因为程序需要至少运行一次才能获得退出状态。
这三项属性分别对应的可选值

如果 KeepAlive=false :
当 RunAtLoad=false 时:程序只有在有需要的时候运行。
当 RunAtLoad=true 时:程序在启动时会运行一次,然后等待在有需要的时候运行。
当 SuccessfulExit=true/false 时:不论 RunAtLoad 值是什么,都会在启动时运行一次。其后根据 SuccessfulExit 值来决定是否重启。
如果 KeepAlive=true :
不论 RunAtLoad/SuccessfulExit 值是什么,都会启动时运行且一直保持运行状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
android上怎样让一个Service开机自动启动 Posted on 2009-02-08 21:55 hk_king 阅读(168) 评论(0) 编辑 收藏 网摘 所属分类: 移动开发 转载出处:http://www.androidlab.cn/viewthread.php?tid=421&extra=page%3D1 1.首先开机启动后系统会发出一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED,这个Action只会发出一次。 2.构造一个IntentReceiver类,重构其抽象方法onReceiveIntent(Context context, Intent intent),在其中启动你想要启动的Service。 3.在AndroidManifest.xml中,首先加入<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,在其<intent-filter>中加入<action android:name="android.intent.action.BOOT_COMPLETED" /> ,以使其能捕捉到这个Action。 一个例子 xml: <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> <receiver android:name=".OlympicsReceiver" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </receiver> java: public class OlympicsReceiver extends IntentReceiver { /*要接收的intent源*/ static final String ACTION = "android.intent.action.BOOT_COMPLETED"; public void onReceiveIntent(Context context, Intent intent) { if (intent.getAction().equals(ACTION)) { context.startService(new Intent(context, OlympicsService.class), null);//启动倒计时服务 Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show(); } } } 注意:现在的IntentReceiver已经变为BroadcastReceiver,OnReceiveIntent为onReceive。所以java这边的代码为: (也可以实现应用程序开机自动启动) public class OlympicsReceiver extends BroadcastReceiver { /*要接收的intent源*/ static final String ACTION = "android.intent.action.BOOT_COMPLETED"; public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ACTION)) { context.startService(new Intent(context, OlympicsService.class), null);//启动倒计时服务 Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show(); //这边可以添加开机自动启动的应用程序代码 } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值