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

应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)

当"咕咚"处于停止状态,其进程被杀死,通知栏图标被清理,等待几分钟没有 自动重启,当重新进入“咕咚”时,会从欢迎界面重新进入; b....(滑动清理除外),说明已经启动保活机制:   - ①"咕咚"禁止了返回键,以保证运动Activity不被销毁;   - ②不断更新通知栏计时,以保证APP始终在前台,防止被系统回收;   - ③"...需要注意的是,对API大于18而言 startForeground()方法需要弹出一个可见通知,如果你觉得不爽,可以开启另一个Service将通知栏移除,其oom_adj值还是没变的。实现代码如下。...注意:如果执行su命令,提示"/system/bin/sh: su: not found",说明手机设备没有被root。...ps命令用于显示静态进程状态,top命令可以对进程进行实时监控,每次启动KeepAppAlive进程号都不一样。

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

    公司新来一个 CTO:禁止使用 Redis 中的 keys 命令,发现即开除!

    公司新来一个 CTO:禁止使用 Redis 中的 keys 命令,发现即开除! keys命令的用法: keys pattern 查找符合正则匹配的key的列表。...同时执行keys命令的同时,Redis进程将被阻塞,无法执行其他命令,假如超过了哨兵的down-after-milliseconds配置,还会进行主从切换,切换过程中,如果主节点恢复正常,还可能出现脑裂等一系列问题...Keys命令的替代方案 scan扫描,避免阻塞 将需要统计的数据放入一个set中 (但是这样可能出现Big Key问题,一般数据量大就不推荐) Keys命令在Redis Cluster中是怎样执行的?...一般来说,keys命令对于集群节点来说,是不知道路由到哪个节点的,不像 get命令。...Keys命令到底有多慢? 这里主要是给大家一个基本的概念,并不是深入剖析。 这是腾讯云上Redis集群服务中,慢查询的日志。我们看到,Keys命令大概执行了250ms ~ 300ms。

    32420

    细说|Linux Out Of Memory机制

    我们可以通过 /proc/{pid}/oom_score_adj 文件来设置进程的被杀建议值, // 这个值越小,进程被杀的机会越低。...如果设置为 -1000 时,进程将被禁止杀掉。...points : 1; } oom_badness() 函数主要按照以下步骤来计算进程的最坏分数值: 如果进程不能被杀掉(init进程和内核进程是不能被杀的),那么返回分数值为 0。...如果将其设置为 -1000 时,进程将被禁止杀掉。 统计进程使用的物理内存数,包括实际使用的物理内存、页表占用的物理内存和 swap 机制占用的物理内存。...例如使用如下命令,将会禁止杀死 PID 为 2000 的进程: $ echo -1000 > /proc/2000/oom_score_adj 这样,我们就能防止一些重要的进程被 OOM killer

    3.1K31

    新版掩日——免杀Windows Defender

    利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。 乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!...本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!! 更新时间:2022.05.16 本文首发乌鸦安全知识星球 1....Defender的时候,依旧被杀。...此时生成了两个文件: 静态查杀正常: 动态加载: 动态加载的话,不是直接双击上线的,而是在命令行中,将exe加载,并且跟上分离文件的名称才可以:(此时没有杀软) 当有Windows Defender...的时候: 直接被动态查杀,再试试其他的方式,发现全部被杀 4.3 网络分离 将生成的shellcode加载器放到目标机器上,并在目标机能访问到的机器上开启一个http服务: python3 -m

    6.9K20

    Linux OOM机制分析

    核心函数为out_of_memory,函数处理流程: 通知系统中注册了oom_notify_list的模块释放一些内存,如果从这些模块中释放出了一些内存,那么皆大欢喜,直接结束oom killer流程,...unsigned int points; enum oom_constraint constraint = CONSTRAINT_NONE; int killed = 0; /* 通知注册在...,或者有一些进程正在结束中,那退出本次oom的处理,等待其它进程结束,防止不必要的进程kill动作*/ goto out; /* 找了一圈,没有找到任何一个进程可以被杀死(全都是背景深厚的进程...,子进程也会继承该权值: /proc//oom_adj:(-17~15) 取值范围:-16~15,值越小进程越不容易被选中 禁止oom killer选中PID进程:-17 /proc//oom_score_adj:(-1000~1000) 取值范围:-999~1000:,值越小进程越不容易被选中 禁止oom killer选中PID进程:-1000 注意: 内核中已经废弃了oom_adj

    8.4K93

    Android消息推送:第三方消息推送平台详细解析

    服务会被杀死 由于Android系统的机制,后台推送 Service 会被各种主动的或是被动的行为给杀死,而服务一旦被杀死,意味着就接收不到推送消息。 ---- 3....有一天你的App被杀死了,但这时用户启动了今日头条,那么推送系统也就会通过共享的推送通道顺便把你推送消息送达到手机上,然后还可能把你的进程也唤醒(被“保活”了)。...所以透传消息不一定会以系统通知栏的形式进行推送,由程序猿自定义 5.2 消息类别的区别与特点 二者的区别在于:透传消息在整个消息传递过程中比通知栏消息多了一步-传递到App 通知栏消息的优点:送达率高...因为透传消息在整个消息传递过程中比通知栏消息多了一步-传递到App,因此透传消息就增加一些被系统限制的概率,给系统杀死的概率就高一些,所以说,通知栏消息比透传消息应该能提供更好的送达率。...App如果仅仅通过通知栏消息,是无法接触到消息数据本身的。 可自定义通知提醒的样式(包括提示样式、提示形式如声音等等) 所以大家可以根据不同的使用场景来对推送消息类别进行选择了。 ---- 6.

    9.8K60

    老树开新花之shellcode_launcher免杀Windows Defender

    利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。 乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!...本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!...那在这里可以简单的分析下: 使用strings来提取crow_test_av.exe中的字符,命令: strings.exe crow_test_av.exe > 0115.txt 分析提取字符串的文件...,因此在这里将当前的cpp代码直接复制一份到火绒环境中去: 复制进行之后,发现当前文件没有被杀: 修改后缀为exe之后,也没有被杀: 那在这里可能暂时没有好的方法,只能够直接对作者的源代码进行修改...2.在这里看到静态免杀还是比较容易的,但是如果是执行命令等动态操作,基本上都会被优秀的杀软识别,所以在免杀上过动态检测才是研究免杀的关键。

    1.6K60

    继停招中国人后,GitLab加入封禁大军:全面阻止受美国制裁的伊朗等地区开发者账户!

    2020 年 10 月份,GitLab 阻止了伊朗人的访问(基于 IP),恕不另行通知。五天后(10 月 8 日),一些该地区的开发者帐户被封锁,且连自己的项目都无权访问。...一家名为 Digital Ocean 的美国公司决定对伊朗实施制裁时,他们通知了伊朗地区的客户,并给了他们 72 小时的时间来更换服务器,这是在不损害用户的情况下实施的制裁。...早在 2018 年,Slack 就曾在没有任何事先通知的情况下阻止了伊朗人的账户,也没有提供任何备份数据的方法,并且只针对国籍进行划分,即便是加拿大的伊朗学者,与伊朗没有什么关系也同样遭到了封禁。...这个 issue 是为了追踪向支持手册中添加内容的过程以及所有需要更新的招聘流程,以确保: 我们不向居住在这些国家的人提供 offer; 现有的团队成员被禁止迁移到这些国家以及留在禁止这种做法的职位上。...开源精神最重要的是:自由贡献、自由分叉、自由使用,通过大量来自世界各地,可以完全不相识的程序员,无直接经济回报地贡献代码,在无组织结构的前提下完成高效的协作和生产。

    53120

    BUIP039 通过extension point的升级方式

    概要 迄今为止,仅有硬分叉和软分叉两种方式来升级比特币网络。两种方式各有缺点,软分叉通过矿工激活,对于普通的节点操作者,没有途径来发出他们的声音,也没有机制来反对该分叉。...另一方面,硬分叉需要大家一起升级,但是在激活时会有风险。 本提案的目的是:使用已知的拓展点来升级比特币网络,在其中引入新功能。...BUIP激活后,软分叉必须考虑51%攻击和相应的处理,添加新的拓展点应使用现有的拓展点,或通过一个硬分叉。...拓展激活,信令和锁定 为了使用一个新的拓展点,矿工可以使用BIP的信号集发信号,来通知他们的意图。...节点用户可以像他们在MG/EB/AD中所做的,用信号通知它们愿意激活的拓展,并以/来分隔用户的代理数据。

    16430

    艰难的mimikatz源码编译免杀 Windows Defender

    利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。 乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!...本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!...执行命令之后,大概2分钟左右,被杀!...gentilkiwi不区分大小写的替换为crowkiwi 编译成功: 6.9 删除mimilove 还是被杀。。。。...(当然,一定要细究的话,也是可以的,但是难度很高,费事!) 360一般在本地不会主动查杀,其查杀靠的是其联网上传样本之后,因为云端查杀需要时间,所以在这之间有一段时间,可以运行木马执行命令。

    2.3K40

    Android后台杀死系列之二:ActivityManagerService与App现场恢复机制

    有这么几个问题可能需要解决: Android框架层(AMS)如何知道App被杀死了 App被杀前的场景是如何保存的 系统(AMS)如何恢复被杀的App 被后台杀死的App的启动流程跟普通的启动有什么区别...,也就说AMS向客户端发命令的时候,AMS是客户端,反之亦然。...,专门向客户端发偶像死亡通知。...对于APP被异常杀死的情况下,这份讣告是发送给AMS的,AMS在收到通知后,就会针对APP被异常杀死的情况作出整理,这里牵扯到Binder驱动的代码有兴趣可以自己翻一下。...} 之后,通过ActivityManagerNative.getDefault().activityStopped,通知AMS Stop动作完成,在通知的时候,还会将保存的现场数据带过去。

    3.5K40

    Android开发高级进阶——Service与Notification

    Service的分类 ---- 按种类分为LocalService和RemoteService LocalService:当前进程的Service,依附在主进程上,节约资源,通信不需要进程间通信,但主进程被杀掉时...RemoteService:远程进程的Service,是一个独立的进程,当主进程被杀掉时,其服务依然会运行,比较灵活,但使用复杂。...可以做一些系统常驻进程或守护进程(当主进程被杀掉时,可以用守护进程唤醒主进程)。...按类型分为前台Service和后台Service 前台Service:在通知栏一直显示的服务,最大程度保证服务不被杀掉。 后台Service:默认的服务为后台服务,看不见。...通知操作 尽管通知操作都是可选的,但是至少应向通知添加一个操作。 操作允许用户直接从通知转到应用中的Activity,用户可在其中查看一个或多个事件或执行进一步的操作。 一个通知可以提供多个操作。

    1.7K40

    The Tomcat connector configured to listen on port 18081 failed to start. The port may already be in

    其中,我们可以使用 netstat 命令查看当前系统中哪些进程正在监听 18081 端口,以便更好地进行调整。通过本文的介绍,读者可以更好地解决应用程序启动失败的问题,提高开发效率。...您可以尝试使用 netstat 命令查看当前系统中哪些进程正在监听 18081 端口,然后根据情况进行调整。...windows 程序命令输入框 在dos窗口中输入指令:netstat -ano | findstr 18081,其中1808118081是指你被占用的端口号,然后会显示出现在占用该端口号的pid。...输入 taskkill /f /pid 8676,关闭该进程即可 最后输入 netstat -ano | findstr 18081 查看端口是否被杀死; netstat -ano | findstr...未经许可,禁止转载、复制或引用。 未经许可,禁止商业用途。 如有疑问或建议,请联系作者。 感谢您的支持与尊重。

    13010

    两个小例子带你看懂什么是比特币分叉和2018必将大热的IFO

    拥堵的比特币区块链 在央行等七部委发文声明禁止ICO后,中国境内的ICO成为非法行为。 在此后,加密货币社区将精力集中于比特币的发展,可是困扰比特币多年的堵塞问题已经到了不得不解决的时候了。...分叉币的诞生 在2017年8月1日,微比特的团队成功在478559区块高度进行硬分叉,与比特币区块链进行分离,并产生新的加密货币BCH比特现金。...IFO的火爆 由于ICO的禁止,于是大家的心思又活络起来了,很多人也把心思动到了这个上面,就有了一个新名词IFO(Initial Fork Offerings,首次分叉发行)后来相继出现了比特黄金,比特币钻石...这些分叉币由于他们都是在比特币的基础上进行分叉,比特现金还可以说确实是为了改善比特币的一些弊端和不足,那其他币呢?也就是为了获利吧。...天下攘攘皆为利往,只要有利可图,在ICO无法进行的情况下,各种分叉币将会充斥在市场。 小编不会带个人情绪评价IFO的好坏,也不会说哪只分叉币比较值得投资。但是分叉币在2018年一定是大势!

    67860

    Android 进程保活招式大全

    提供进程优先级,降低进程被杀死的概率 B. 在进程被杀死后,进行拉活 本文下面就从这两个方面做一下总结。 1....Android 手机中进程被杀死可能有如下情况: ? 综上,可以得出减少进程被杀死概率无非就是想办法提高进程优先级,减少进程在内存不足等情况下被杀死的概率。 3. 提升进程优先级的方案 3.1....方案实现挑战 从 Android2.3 开始调用 setForeground 将后台 Service 设置为前台 Service 时,必须在系统的通知栏发送一条通知,也就是前台 Service 与一条可见的通知时绑定在一起的...对于不需要常驻通知栏的应用来说,该方案虽好,但却是用户感知的,无法直接使用。 3.2.3....通过 Native 进程拉活主进程的部分代码如下,即通过 am 命令进行拉活。通过指定“—include-stopped-packages”参数来拉活主进程处于 forestop 状态的情况。 ?

    3.2K70

    Android应用保活全攻略:30个实用技巧助你突破后台限制

    前台服务(Foreground Service) 将应用的Service设置为前台服务,这样系统会认为这个服务是用户关心的,不容易被杀死。前台服务需要显示一个通知,告知用户当前服务正在运行。...当一个进程被杀死时,另一个进程可以通过监听onServiceDisconnected(ComponentName name)方法来感知,并重新启动被杀死的进程。这样可以相互守护,提高应用的存活率。...使用NotificationListenerService 通过实现一个NotificationListenerService并在AndroidManifest.xml中注册,可以监听系统通知栏的变化。...当收到新的通知时,检查应用进程是否存活,如果已经被杀死,则重新启动应用。这种方法可以利用系统通知的变化来触发应用的启动,从而提高应用在后台的存活率。...需要注意的是,为了使用NotificationListenerService,用户需要在设置中授权应用访问通知权限。 最后,你真的需要保活吗?

    1.7K21
    领券