首页 > 系统相关 >改变进程优先级,Nodejs的os.setPriority()方法

改变进程优先级,Nodejs的os.setPriority()方法

时间:2023-12-23 11:00:58浏览次数:30  
标签:优先级 reverse Nodejs setPriority split parseInt join os

改变进程优先级,Nodejs的os.setPriority()方法

os.setPriority()方法是os模块的内置应用程序编程接口,在nodejs v10.10之后的版本中有效,用于设置pid和优先级指定的进程的调度优先级。

语法:

os.setPriority(pid,优先级)

参数:此方法有两个参数,如上所述,如下所述:

pid:这是一个可选参数。它指定要设置其调度优先级的进程id。它的默认值是0。
priority:这是一个必需的参数。它指定了为指定进程 ID 的进程设置的优先级。此参数的值必须在 -20(最高)到 19(最低)之间。

注:-20是最高优先级,19是最低优先级。

返回值:此方法不返回任何值。

注意:由于Windows系统中的优先级与UNIX系统不同,Windows系统中的优先级映射为os.constants.priority中的六个优先级常量之一。因此,在检索值时可能与实际值略有不同。在Windows系统中,设置最高优先级需要提升用户权限。因此,有时PRIORITY_HIGHEST可能会在没有任何警告的情况下更改为PRIORITY_HIGH。

以下示例说明了在Node.js中使用os.setPriority()方法:

// Node.js program to demonstrate the    
// os.setPriority() Method
 
// Allocating os module
const os = require('os');
try{
    console.log(process.pid);
		os.setPriority(19);
		// Printing priority of current process
    console.log(os.getPriority());
}catch(err){
    // Printing error message
    console.log(": error occurred"+err);
}

改变进程优先级,Nodejs的os.setPriority()方法_进程优先级

如果不想他人窥探实现原理,可对上述代码中核心的三行进行JS混淆加密。

console.log(process.pid);

os.setPriority(19);

console.log(os.getPriority());

这三行JS代码,用JShaman混淆加密之后会成为:

改变进程优先级,Nodejs的os.setPriority()方法_进程优先级_02

这时整体代码可变成:

// Node.js program to demonstrate the    
// os.setPriority() Method
 
// Allocating os module
const os = require('os');
try{
(function(_0x25ee90,_0x417a1f){function _0x42c3b7(_0x275757,_0x4b8cbe,_0x290c1a,_0x386994,_0x338865){return _0x3c30(_0x4b8cbe-0x19a,_0x275757);}function _0x2acb1e(_0x2a389b,_0x18fdb6,_0x3b02fd,_0x473c99,_0x3ee907){return _0x3c30(_0x2a389b-0x20c,_0x3b02fd);}var _0x3c3f3f=_0x25ee90();function _0x551fbf(_0x3a0b39,_0x405d83,_0x286daf,_0x1d8884,_0xfd941f){return _0x3c30(_0x1d8884-0x25e,_0x3a0b39);}function _0x27f943(_0x5712d7,_0x41f6ab,_0x502b13,_0xff34ac,_0x17b39e){return _0x3c30(_0xff34ac-0x250,_0x502b13);}function _0x185740(_0x11a490,_0x31968c,_0x1beddb,_0x2c039a,_0x5caf23){return _0x3c30(_0x2c039a- -0x37f,_0x5caf23);}while(!![]){try{var _0x5b29ad=parseInt(_0x551fbf(0x270,0x270,0x26a,0x26a,0x26d))/0x1*(parseInt(_0x2acb1e(0x20f,0x20e,0x20f,0x211,0x216))/0x2)+-parseInt(_0x27f943(0x25f,0x25d,0x25b,0x25a,0x254))/0x3*(parseInt(_0x185740(-0x376,-0x379,-0x373,-0x379,-0x37e))/0x4)+parseInt(_0x27f943(0x24b,0x256,0x249,0x250,0x250))/0x5*(-parseInt(_0x27f943(0x252,0x25e,0x258,0x259,0x25e))/0x6)+-parseInt(_0x42c3b7(0x1a3,0x1a1,0x1a6,0x19f,0x19f))/0x7+-parseInt(_0x185740(-0x374,-0x372,-0x378,-0x372,-0x375))/0x8*(-parseInt(_0x2acb1e(0x211,0x216,0x212,0x214,0x20e))/0x9)+parseInt(_0x2acb1e(0x214,0x216,0x219,0x21c,0x216))/0xa+parseInt(_0x27f943(0x258,0x254,0x25a,0x25b,0x25d))/0xb;if(_0x5b29ad===_0x417a1f){break;}else{_0x3c3f3f["\u0070\u0075\u0073\u0068"](_0x3c3f3f["\u0073\u0068\u0069\u0066\u0074"]());}}catch(_0x57abf2){_0x3c3f3f["\u0070\u0075\u0073\u0068"](_0x3c3f3f["\u0073\u0068\u0069\u0066\u0074"]());}}})(_0x54d7,0x31226);console["\u006c\u006f\u0067"](process["\u0070\u0069\u0064"]);function _0x54d7(){var _0x3b0a3f=["dhlvVB65".split("").reverse().join(""),"ytiroirPtes".split("").reverse().join(""),"vmUdKW54012".split("").reverse().join(""),"ytiroirPteg".split("").reverse().join(""),"gol".split("").reverse().join(""),"RamddO2".split("").reverse().join(""),"dip".split("").reverse().join(""),'68049ZIGKxZ',"XjoQMA4".split("").reverse().join(""),'1663907ddfYLQ',"QNSHCH0749183".split("").reverse().join(""),"ZRSwpf654".split("").reverse().join(""),"\u0036\u0037\u0032\u0030\u0036\u0036\u006f\u0077\u006a\u0043\u0079\u004d","\u0035\u0032\u0032\u0033\u0032\u0039\u0035\u0069\u0059\u0075\u0072\u0045\u0079","BTtixW24137".split("").reverse().join("")];_0x54d7=function(){return _0x3b0a3f;};return _0x54d7();}os["\u0073\u0065\u0074\u0050\u0072\u0069\u006f\u0072\u0069\u0074\u0079"](0xc3257^0xc3244);function _0x3c30(_0x3db000,_0x54d71d){var _0x3c3065=_0x54d7();_0x3c30=function(_0x1a507f,_0x40eb3b){_0x1a507f=_0x1a507f-0x0;var _0x5baa18=_0x3c3065[_0x1a507f];return _0x5baa18;};return _0x3c30(_0x3db000,_0x54d71d);}console['log'](os['getPriority']());
}catch(err){
    // Printing error message
    console.log(": error occurred"+err);
}

标签:优先级,reverse,Nodejs,setPriority,split,parseInt,join,os
From: https://blog.51cto.com/jsjiami/8944935

相关文章

  • PostgreSQL. 异常“more than one owned sequence found”的解决方案
    一、异常信息描述执行数据库操作时,主键id没有自增,且报“morethanoneownedsequencefound”的异常,造成数据没有insert进去,下面是详细的异常信息:java.lang.reflect.InvocationTargetExceptionatsun.reflect.GeneratedMethodAccessor613.invoke(UnknownSource)ats......
  • NoSQL学习第七天心得
    经过第七天的NoSQL学习,我获得了更多的收获和感悟。以下是我的心得总结:一、掌握NoSQL数据库的优化技术在第七天的学习中,我重点学习了NoSQL数据库的优化技术。通过学习,我了解了如何对NoSQL数据库进行性能优化,包括索引优化、查询优化、数据分区等方面的技术。这些优化技术可以帮助我更......
  • centos7_mysql_删除
    CentOS7中的MySQL是使用以下命令进行安装的:sudoyuminstallmysql-server以下是如何完全卸载MySQL的步骤:步骤1:停止MySQL服务sudosystemctlstopmysqld.service步骤2:禁用MySQL服务,使它不会在系统重启时启动sudosystemctldisablemysqld.service步骤3:卸......
  • MapStruct+Maven+Lombok问题NoSuchBeanDefinitionException、does not have an access
    概述先直接说我遇到的问题吧,SpringBoot应用启动失败:ERROR|org.springframework.boot.web.embedded.tomcat.TomcatStarter|onStartup|61|-ErrorstartingTomcatcontext.Exception:org.springframework.beans.factory.UnsatisfiedDependencyException.Message:Error......
  • [插件使用] SwitchHosts自动更新Github Hosts文件
    作者:丶布布......
  • spring中BeanPostProcessor介绍
    介绍BeanPostProcessor是Spring框架提供的一个接口,用于在Spring容器中对Bean进行后处理。工作原理在Spring容器启动时,会扫描所有BeanPostProcessor实现类。当Spring容器创建Bean时,会调用BeanPostProcessor的postProcessBeforeInitialization()方法。当S......
  • NoSQL学习第六天心得
    经过第六天的NoSQL学习,我获得了更多的收获和感悟。以下是我的心得总结:一、深入理解NoSQL数据库的原理和架构在第六天的学习中,我深入了解了NoSQL数据库的原理和架构。通过学习,我更加清晰地认识到NoSQL数据库的分布式、可扩展、高可用性等特点,以及其与关系型数据库的区别和优势。同时......
  • dos-base
    DOS(磁盘操作系统)是一个早期的基于命令行的操作系统,尽管现代操作系统已经发展为图形用户界面(GUI),但是了解和掌握一些基本的DOS命令仍然非常有用,尤其是在处理批处理脚本、网络管理或者在没有图形界面的情况下。下面是一些主要的DOS命令和相应的实用案例:CD(ChangeDirectory):......
  • nodejs-练手项目中get post需求
    这段时间查看微信小程序,看着上面的好多的接口不能用,就想着弄个小接口先用这,顺便复习一下node首先我们要有必要的npm,node,等基本环境条件基本的代码书写:/*express是node中的服务器软件通过express可以快速的在node中搭建一个web服务器-使用步骤:1.......
  • centos下Iptables的安装(离线)
    背景:要给公司服务器屏蔽端口,然后开服务IP白名单,修改完iptables文件后,想执行指令生效,发生指令不存在vim/etc/sysconfig/iptables-AINPUT-s10.xx.xx.xx/24-ptcp-mtcp--dport8888-jACCEPT-AINPUT-s10.xx.xx.xx/24-ptcp-mtcp--dport9999-jACCEPT然后重......