-
2019-03-15 18:09:02
有一个别人写的vs工程,生成的是A.dll文件,但是生成之后不知道哪个程序调用了生成的A.dll文件,在网上找到以下的方法:
1.用depends.exe这个工具打开.exe文件,在里面找一下A.dll看能不能找到,可以你觉得有可能是的exe文件都打开试一下,都看一下。这个方法不适合我,我没有找到,猜测结果可能是我要找的.dll文件是在运行的过程中调用的,所以没有找到。
2.在命令提示符里面输入tasklist /m A.dll,可以查看哪些进程调用了这个dll,这个一定要在A.dll调用过程中用,否则无效。这个方法不知道为啥我也没有找到
3.打开任务管理器-性能-资源监视器-CPU,然后选中正在运行的程序,查看下方的“关联的句柄”和“关联的模块”两个地方,看能不能找到,我的是在关联的模块里面找到的,问题解决。depends.exe工具可以去我的资源里面找找,我会上传上去
更多相关内容 -
进程查看工具 查看进程调用那些dll
2011-05-14 15:59:33可以查看进程情况,内存,调用dll 功能比windows内带任务管理器详细,清晰 -
(转)Windows下查看dll被哪个进程调用
2020-01-20 09:52:06卸载程序,结果没卸载干净---程序...想删,结果系统提示说dll文件被某个进程占用了,不让删。 先前碰到这种做法,我都是直接使用unlocker先unlock一下,然后删的。不过公司的电脑,不让随便安装软件,于是只能想...转载自:https://www.cnblogs.com/leipei2352/archive/2013/02/05/2892482.html
卸载程序,结果没卸载干净---程序的安装目录中还剩下一个dll文件。想删,结果系统提示说dll文件被某个进程占用了,不让删。
先前碰到这种做法,我都是直接使用unlocker先unlock一下,然后删的。不过公司的电脑,不让随便安装软件,于是只能想其他办法了。
在网上找了半天,终于给找到查看dll被某个进程调用的方法了。
在命令行下使用 tasklist /m dll文件名 就能查找了。原来tasklist还有这作用啊。于是又去翻tasklist的使用说明。以下就是找到的应用举例,具体的tasklist参数和含义,直接使用tasklist /?看就行了。
------------------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------------------------------------
应用实例
1.查看本机进程
在"命令提示符"中输入Tasklist命令即可显示本机的所有进程(图1)。本机的显示结果由5部分组成:图像名(进程名)、PID、会话名、会话#和内存使用。
2.查看远程系统的进程
在命令提示符下输入"Tasklist /s 218.22.123.26 /u jtdd /p 12345678"(不包括引号)即可查看到IP地址为218.22.123.26的远程系统的进程。其中/s参数后的"218.22.123.26"指要查看的远程系统的IP地址,/u后的"jtdd"指Tasklist命令使用的用户账号,它必须是远程系统上的一个合法账号,/p后的"12345678"指jtdd账号的密码。
注意:使用Tasklist命令查看远程系统的进程时,需要远程机器的RPC服务的支持,否则,该命令不能正常使用。
3.查看系统进程提供的服务
Tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。如查看本机进程SVCHOST.EXE提供的服务,在命令提示符下输入"Tasklist /svc"命令即可(图3)。你会惊奇地发现,有4个SVCHOST.EXE进程,而总共有二十几项服务使用这个进程。
对于远程系统来说,查看系统服务也很简单,使用"Tasklist /s 218.22.123.26 /u jtdd /p 12345678 /svc"命令,就可以查看IP地址为218.22.123.26的远程系统进程所提供的服务。
4.查看调用DLL模块文件的进程列表
要查看本地系统中哪些进程调用了shell32.dll模块文件,只需在命令提示符下输入"Tasklist /m shell32.dll"即可显示这些进程的列表。
5.使用筛选器查找指定的进程
在命令提示符下输入"TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running",就可以列出系统中正在运行的非SYSTEM状态的所有进程。其中"/FI"为筛选器参数,"ne"和"eq"为关系运算符"不相等"和"相等"。
综合应用之结束进程
一、Tasklist
谈到"Tasklist"命令,我们就不得不提到它的孪生兄弟"Taskill"命令,顾名思义,它是用来关掉进程的。
要关掉本机的notepad.exe进程,有两种方法:
1、先使用Tasklist查找它的PID,假设系统显示本机notepad.exe(notepad.exe是个病毒性程序,很难删除,一般在C:/windows/system32下)进程的PID值为1132,然后运行"Taskkill /pid 1132"命令即可。其中"/pid"参数后面是要终止进程的PID值。
2、直接运行"taskkill /IM notepad.exe"命令,其中"/IM"参数后面为进程的图像名。
二、NTSD
系统debug级的ntsd,很多进程Tasklist是杀不了的,但是用ntsd就可以,基本上除了WINDOWS系统自己的管理进程,ntsd都可以杀掉,不过有些rootkit级别的超级木马就无能为力了,不过幸好这类木马还是很少的。
1、利用进程的PID结束进程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 1332 (结束explorer.exe进程)
2、利用进程名结束进程
命令格式:ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)
-
进程间函数调用
2012-12-03 00:43:53remote-function是一个跨进程通讯库,它可以像调用本进程函数一样调用另外一个进程的函数。 remote-function支持调用普通函数,也支持调用类的成员函数。 remote-function底层使用命令管道进行通讯,内置的流程完成... -
四大组件之Service(三)-Service的跨进程调用
2016-06-14 13:37:19Service组件除了提供给自身的应用组件使用,还能提供给别的应用组件使用。Service的跨进程使用有什么神奇的用法吗?本文将告诉你如何在不同的应用之间分享Service提供的功能。更新时间 修改意见 2016-08-02 陈敏 第4节 远程调用
之前提到过:如果站在Service与触发Service运行的那个组件的角度,根据它们的关系进行分类,有两种:本地Service,远程Service。
本地Service就是同一个应用的组件的调用本地应用中的Service组件;
远程Service就是其它应用的组件跨进程调用其它应用中的Service组件。
对于使用
Start Service
的方式远程运行Service
是很简单的。和本地Service几乎完全一样,只是要采用隐式调用的方式调用。这里主要讲讲跨进程通过
Bind Service
的方式远程绑定Service
。跨进程调用自定义
Service
有两种方式:Messager和AIDL。要让两个不同的进程之间进行函数调用,就要使用进程间通信IPC,这两种方式都使用了IPC技术。在安卓系统当中,它实际上是由Binder
来实现的。4.1 AIDL实现进程间调用
在源码目录下创建一个以
aidl
为后缀的文件,例如IRemoteCall.aidl
,将Service
要提供给其他进程使用的接口函数定义在里面,例如,package xxx.xxx.xxx; interface IRemoteCall { void remoteFunc(int param); }
Android Studio编译器会根据AIDL接口文件,自动生成对应的java源代码。它产生的java类可以直接拿来使用。
继承
Service
类,创建自己的Service
,并实现由IRemoteCall.aidl
定义的Binder
,public class MyService extends Service { ...... //实现IRemoteCall.aidl定义的Binder-IRemoteCall.Stub()由编译器自动产生 private final IBinder mBinder = new IRemoteCall.Stub() { @Override public void remoteFunc(int param) throws RemoteException { //调用Service中真正实现功能的方法 innerRemoteFunc(param); } }; //真正实现功能的方法 private void innerRemoteFunc(int param) { } @Override public IBinder onBind(Intent intent) { //当组件bindService()之后,将这个Binder返回给组件使用 return mBinder; } ...... }
在
AndroidManifest.xml
文件中,用隐式的方式声明新创建的Service
;<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.anddle.lifetime"> ...... <application ...... android:theme="@style/AppTheme"> ...... <!--声明新创建的Service--> <service android:name=".MyService" android:enabled="true" android:exported="true" ---设置成true > <!--指定一个过滤器,为过滤器指定一个Action name--> <intent-filter> <action android:name="custom.service.remote" /> </intent-filter> </service> </application> </manifest>
这里要把
android:exported
属性设置成true
,其他进程中的组件才能够使用它,否则只有同一个进程的组件能使用。
在另一个应用中,要远程调用
Service
也很简单,创建一个
ServiceConnection
,当绑定Service
之后在onServiceConnected()
中会得到Service
返回的Binder
;如果Service遇到异常情况退出时,会通过onServiceDisconnected
通知已经绑定过它的组件,绑定断开。如果用户主动解除绑定,这个
onServiceDisconnected()
是不会被触发的。private ServiceConnection mServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { //这里的service参数,就是Service当中onBind()返回的Binder IRemoteCall remoteCall = IRemoteCall.Stub.asInterface(service); try { //通过AIDL中定义的接口-IRemoteCall,就可以调用到Service提供到函数了 remoteCall.remoteFunc(0); } catch (RemoteException e) { e.printStackTrace(); } } @Override public void onServiceDisconnected(ComponentName name) { //当Service遇到异常情况退出时,会通过这里通知已经绑定过它的组件 } };
假设Activity A中有个按钮,点击之后就用隐式调用的方式调用
bindService
;还有个按钮B,点击之后就调用unbindService
。
可以看到,通过AIDL进行远程调用与不使用远程调用基本一样,只是它们产生和获取
Binder
的方式不同,- 远程调用是通过AIDL产生
Binder
; - 非远程调用是通过继承
Binder
类产生Binder
;
4.2 Messenger实现进程间调用
Messenger
方式是一种进程间消息传递到方式,可以让组件B发送消息M到Service,让Service根据消息的类型进行相关的操作,在
Service
中,创建一个内部的Handler类
,public class MessengerService extends Service { static final int MSG_REMOTE_FUNC = 1; class IncomingHandler extends Handler { @Override public void handleMessage(Message msg) { switch (msg.what) { case MSG_REMOTE_FUNC: //获取到组件A发出的命令 innerRemoteFunc(msg.arg1) break; default: super.handleMessage(msg); } } } //真正实现功能的方法 private void innerRemoteFunc(int param) { ...... } ...... }
创建一个用来传递消息的Messenger,将Messenger作为Binder返回给调用者,今后调用者就可以用这个给Service发消息了。消息的内容在
IncomingHandler
的handleMessage()
函数中得到。public class MessengerService extends Service { ...... //创建一个用来传递消息的Messenger final Messenger mMessenger = new Messenger(new IncomingHandler()); @Override public IBinder onBind(Intent intent) { //将Messenger作为Binder返回给调用者,今后调用者就可以用这个给Service发消息了, //消息的内容在`IncomingHandler`的`handleMessage()`函数中得到 return mMessenger.getBinder(); } ...... }
组件A那边在使用的时候可以,
创建一个
ServiceConnection
,当绑定Service
之后在onServiceConnected()
中会得到Service
返回的Binder
;如果Service遇到异常情况退出时,会通过onServiceDisconnected
通知已经绑定过它的组件,绑定断开。private ServiceConnection mServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { //这里的service参数,就是Service当中onBind()返回的Messenger的Binder, //这里我们通过这个Binder,把它还原成一个可以向Service发送消息的Messenger Messenger remoteCall = new Messenger(service); //通过Messenger,就可以向Service发送消息了 Message msg = Message.obtain(null, MessengerService.MSG_REMOTE_FUNC, 0, 0); try { remoteCall.send(msg); } catch (RemoteException e) { e.printStackTrace(); } } @Override public void onServiceDisconnected(ComponentName name) { //当Service遇到异常情况退出时,会通过这里通知已经绑定过它的组件 } };
假设Activity A中有个按钮,点击之后就用隐式调用的方式调用
bindService
;还有个按钮B,点击之后就调用unbindService
。
这样一来,组件A就可以向
Service
发送消息了。Service
一收到消息,就会根据消息的类型,去执行对应的操作了。可以看出,
- 因为对
Service
操作的请求是通过Handler
进行的,所以组件们请求都会按照先来后到一个一个顺序执行; - 只有其它组件可以向
Service
发送执行某个操作的消息,而Service
无法主动回报数据。
4.3 AIDL与Messenger怎么选
使用
Messenger
要比使用AIDL
更简单,Messenger
会将所有调用排入队列,按照顺序一个一个执行;而AIDL
方式允许多个组件同时向Service
发送请求,所以Service
需要考虑同步的问题。对于大多数应用,
Service
不需要执行多线程处理,不需要数据的主动回报,因此使用Messenger
可让服务一次处理一个调用;否则就使用AIDL
方式吧。
/*******************************************************************/
* 版权声明
* 本教程只在CSDN和安豆网发布,其他网站出现本教程均属侵权。*另外,我们还推出了Arduino智能硬件相关的教程,您可以在我们的网店跟我学Arduino编程中购买相关硬件。同时也感谢大家对我们这些码农的支持。
*最后再次感谢各位读者对
安豆
的支持,谢谢:)
/*******************************************************************/ -
Windows下查看dll被哪个进程调用
2016-09-21 16:24:56要查看本地系统中哪些进程调用了shell32.dll模块文件,只需在命令提示符下输入"Tasklist /m shell32.dll"即可显示这些进程的列表。 5.使用筛选器查找指定的进程 在命令提示符下输入"TASKLIST /FI "USERNAME ne...原贴网址:http://www.cnblogs.com/leipei2352/archive/2013/02/05/2892482.html
注:最后面的一小部分是本文查找这篇文章时的一些情况说明
以下分隔后面为原贴内容
-------------------------------------------------------------------------------------------------
卸载程序,结果没卸载干净---程序的安装目录中还剩下一个dll文件。想删,结果系统提示说dll文件被某个进程占用了,不让删。
先前碰到这种做法,我都是直接使用unlocker先unlock一下,然后删的。不过公司的电脑,不让随便安装软件,于是只能想其他办法了。
在网上找了半天,终于给找到查看dll被某个进程调用的方法了。
在命令行下使用 tasklist /m dll文件名 就能查找了。原来tasklist还有这作用啊。于是又去翻tasklist的使用说明。以下就是找到的应用举例,具体的tasklist参数和含义,直接使用tasklist /?看就行了。
------------------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------------------------------------
应用实例
1.查看本机进程
在"命令提示符"中输入Tasklist命令即可显示本机的所有进程(图1)。本机的显示结果由5部分组成:图像名(进程名)、PID、会话名、会话#和内存使用。
2.查看远程系统的进程
在命令提示符下输入"Tasklist /s 218.22.123.26 /u jtdd /p 12345678"(不包括引号)即可查看到IP地址为218.22.123.26的远程系统的进程。其中/s参数后的"218.22.123.26"指要查看的远程系统的IP地址,/u后的"jtdd"指Tasklist命令使用的用户账号,它必须是远程系统上的一个合法账号,/p后的"12345678"指jtdd账号的密码。
注意:使用Tasklist命令查看远程系统的进程时,需要远程机器的RPC服务的支持,否则,该命令不能正常使用。
3.查看系统进程提供的服务
Tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。如查看本机进程SVCHOST.EXE提供的服务,在命令提示符下输入"Tasklist /svc"命令即可(图3)。你会惊奇地发现,有4个SVCHOST.EXE进程,而总共有二十几项服务使用这个进程。
对于远程系统来说,查看系统服务也很简单,使用"Tasklist /s 218.22.123.26 /u jtdd /p 12345678 /svc"命令,就可以查看IP地址为218.22.123.26的远程系统进程所提供的服务。
4.查看调用DLL模块文件的进程列表
要查看本地系统中哪些进程调用了shell32.dll模块文件,只需在命令提示符下输入"Tasklist /m shell32.dll"即可显示这些进程的列表。
5.使用筛选器查找指定的进程
在命令提示符下输入"TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running",就可以列出系统中正在运行的非SYSTEM状态的所有进程。其中"/FI"为筛选器参数,"ne"和"eq"为关系运算符"不相等"和"相等"。
综合应用之结束进程
一、Tasklist
谈到"Tasklist"命令,我们就不得不提到它的孪生兄弟"Taskill"命令,顾名思义,它是用来关掉进程的。
要关掉本机的notepad.exe进程,有两种方法:
1、先使用Tasklist查找它的PID,假设系统显示本机notepad.exe(notepad.exe是个病毒性程序,很难删除,一般在C:/windows/system32下)进程的PID值为1132,然后运行"Taskkill /pid 1132"命令即可。其中"/pid"参数后面是要终止进程的PID值。
2、直接运行"taskkill /IM notepad.exe"命令,其中"/IM"参数后面为进程的图像名。
二、NTSD
系统debug级的ntsd,很多进程Tasklist是杀不了的,但是用ntsd就可以,基本上除了WINDOWS系统自己的管理进程,ntsd都可以杀掉,不过有些rootkit级别的超级木马就无能为力了,不过幸好这类木马还是很少的。
1、利用进程的PID结束进程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 1332 (结束explorer.exe进程)
2、利用进程名结束进程
命令格式:ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)
-------------------------------------------------------------------------------------------------
以下的为本文补充的文章搜索情况
今天(2016.9.21)突然发现一个svn目录出问题了,无法提交,重新checkout还是无法提交,只好把原文件放到svn服务器的另外一个目录才整好了。出问题的情况是,在提交时uuid不对,直接更新时提示auth失败,我重新checkout后修改再提交,提示没有权限。实际情况是,我没有保存密码,所以每次查看或者提交或者更新时都应该要输入用户名和密码才行,但是唯独这个目录,我在checkout时不需要输入用户名和密码(根本就没有给我输入,就是直接checkout出来了,正常情况 是要先给我个输入的地方,输入之后才checkout动作)也能checkout成功,所以在提交时也没有给我输入,自然就认证失败。没搞清楚是啥情况,只好放弃这个目录
其实这个问题和今天的这篇文章关系不大,但它是引子。调试程序,通过debugview查看打印,发现好多如下的打印:
[4276] ==不需要清理 XMD==
[4276] 服务器端指定的范围是:15, 我们的范围是:4
这玩意一会儿打印10来条,一会儿打印10来条,实在是影响我的程序调试,而且我电脑本来就慢得要死,查看其进程id,竟然是ie!然后就查看ie的加载项,发现了一个KisIEProtecter64.dll,标明是kingsoft公司的插件,复制信息查看其位置,发现在 C:\ProgramData\Kingsoft\Kisaas\ComPlugins 目录中,再一看,有两个:KisIEProtecter.dll、KisIEProtecter64.dll,上网上搜索,发现如下几个网址:
【已确认】这是企业版QQ搞的鬼么?:http://bbs.kafan.cn/thread-2037039-1-1.html
狗日的百度搜索+金山毒霸+腾讯企业QQ :http://www.tuicool.com/articles/EjUz2y6
右键菜单多了个“百度一下”,竟然是金山搞鬼!:http://tieba.baidu.com/p/4234309687
kisieprotecter64.dll 怎么 删:http://zhidao.baidu.com/link?url=hHozZuutkOgz2f2Q-RPUNkR0cHINoaXj3YAIcKQe6xWHg4NJwOyVTfprBpAa5xQ0bQuYTZYLhodVU_dk99brZneH4Z6ulxnVuzx7DDG--3m
才发现这个东西是个流氓,我直接删除它,结果这个目录中的好几个文件都删除不掉,去任务管理器里关闭了两个程序后,除了KisIEProtecter64.dll,其它都删除掉了。然后去搜索“如何查看dll被哪个进程依赖”,就搜到了上面的文章。结果一查看傻眼了,发现是explorer.exe占用了该文件!
然后在管理器中结束了explorer之后,所有的资源管理器也都没有了,这文件也还是没法删除,然后在刚刚输入tasklist的cmd窗口中重启explorer,然后再打开 C:\ProgramData\Kingsoft 目录,然后一举把整个 kisaas目录 以及kis目录全部删除掉,然后新建了两个文件分别为kisaas和kis,这样防止程序再创建这两个目录。
这样估计以后就不会再受这个流氓骚扰了,但是有个问题,这个肯定是一个什么服务,但是在服务里也看不到,所以还得清除注册表中的内容,通过搜索 KisIEProtecter64 ,把相关的项删除掉。我只把和KisIEProtecter64直接相关的项删除掉,没有再进一步搜索其它的项了,所以估计清理的不干净。
再查看右键菜单,果然发现“百度一下”项不存在了。
我有些奇怪的是,这kingsoft、baidu、qq咋就这么搞到一起去了?这个dll文件是在kingsoft目录里,而且也显示的是beijing kingsoft公司的,但是发现它又是qq提供的服务,而右键菜单中又显示的是百度一下,真是纠缠不清,关系复杂,越理越乱,但总之,就是流氓,从来没有通知过我安装了这些软件,竟然还是企业qq始作俑者!
通过以上的操作,电脑目前没有什么异常,等明天重新启动看看情况是否有什么异常,如果没有什么异常那就很好了
-
64位进程调用32位DLL详解(利用COM)
2018-05-29 10:24:59转载:https://blog.csdn.net/nie2314550441/article/details/4986773564位进程调用32位DLL------探索相关资料:微软公司的官方网站针对这个问题描述如下:在64位的windows系统中,一个64位进程不能加载一个32位dll... -
利用ContentProvider call方法实现跨进程调用
2018-04-03 17:12:00与其他三种跨进程(BroadCast, Intent, AIDL)相比优缺点参考文章: https://blog.csdn.net/cnzx219/article/details/46645519 使用方法: 调用者: try { Bundle bundle = new Bundle -
64位进程调用32位DLL详解
2015-11-16 19:55:25那么问题来了怎样在64位环境下调用32位DLL — — — —开启探索之旅 相关资料: 微软公司的官方网站针对这个问题描述如下: 在64位的windows系统中,一个64位进程不能加载一个32位dll,同理一个32位进程也不能加载... -
聊聊Android应用实现跨进程调用
2016-04-04 11:10:42Android应用实现跨进程调用关于Android应用如何实现跨进程调用这是一个比较老的话题了。我们先来看看Android为应用开发者提供了哪些跨进程调用的API?主要方法: startActivity sendBroadcast startService ... -
【Linux 内核】进程管理 ( 系统调用简介 | 进程相关系统调用源码 )
2022-03-28 09:49:06一、系统调用简介、 二、进程相关系统调用源码 -
64位进程调用32位dll的解决方法
2016-12-26 11:38:19在Windows7 X64,VS2008环境下做32位程序编译为64位程序的工作...由于有一些32位dll没有源代码,无法重新编译为64位dll,所以只能想办法解决64位进程调用32位dll问题。 相关资料: 微软公司的官方网站针对这个问题描 -
TCL学习之子进程调用--open&exec
2017-04-28 11:22:22本篇文章讲的是TCL学习中的子进程调用--open&exec。 1.格式:open |progName ?access? 功能:为管道返回一个文件描述符。如果proName用括号括起来,可以包含参数。 2.格式:exe ?switches? arg1? arg2?...?argN? ... -
跨进程调用其他应用中的activity
2015-12-09 11:20:09今天心血来潮想用一个应用中的activity调用其他应用中的activity,即跨进程调用。其中代码很简单,但是需要注意几个细节。 接下给出一些方法: 方法一: 使用ComponentName ComponentName componentName=new ... -
Windows 64位系统下32位进程调用64位进程中的函数
2017-01-18 18:06:43最近研究了 一番,写了个命令行通用...调用远程进程的指定模块DLL的函数: https://github.com/halx99/wow64helper另外推荐一款国外大神写的64位Windows 64位系统下32位程序调用64位模块代码的扩展库: https://github.c -
关于linux c++守护进程调用调用system函数
2018-05-31 17:16:47我们的程序是守护进程,也就是说在最开始会...通过调用system函数来执行一些系统命令,并根据系统命令的返回值是不是0来判断命令是否执行成功(正常情况下调用system函数,执行成功 return 0; 执行失败 return 正... -
C# 一个进程调用另外一个进程并传入参数
2015-07-11 14:38:521,目的如图; 2,实现代码: //进程所在文件夹 ProcessStartInfo startInfo = new ProcessStartInfo(Settings.Default.texturePath + @"TexturePacker.exe"); //重定向输出 startInfo -
linux的子进程调用exec( )系列函数
2015-07-21 20:06:34系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其参数包括文件名(filename)、参数列表(argv)以及环境变量(envp)。exec函数族当然不止一个,但它们大致相同,在Linux中,它们分别是:execl,... -
【Android学习系列】跨进程调用Activity
2012-09-19 10:36:24在研究Activity的启动模式singeTask的时候,看到了跨进程调用Activity的问题,于是对这个问题进行下简单的总结,并记录下自己在测试过程中碰到的一些问题。 【跨进程调用activity】 跨进程调用Activity的目的... -
查看进程调用的so动态库
2014-08-01 10:28:30ldd exename readelf exename cat /proc/进程ID/maps -
64位进程调用32位DLL的解决方法
2019-01-09 13:09:5164位进程调用32位DLL的解决方法 最近做在Windows XP X64,VS2005环境下,32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的遇到... -
64位进程调用32位DLL详解(利用COM)附加QT
2019-08-19 09:22:01Qt中使用ActiveXhttps://www.cnblogs.com/findumars/p/6254060.html Qt 下的COM组件开发... 64位程序如何调用32位dll(简单解决方案 )https://blog.csdn.net/jiyanglin/article/det... -
操作系统-父进程创建子进程和主程序调用子程序有何不同?
2020-02-02 14:00:19父进程创建子进程后,父进程与子进程同时执行(并发)。 主程序调用子程序后,主程序暂停在调用点,子程序开始执行,直到子程序返回,主...主程序调用子程序后,主程序暂停,子程序开始执行,它们还是一个进程。 ... -
孤儿进程调用setsid之后,还是孤儿进程么?
2015-05-03 11:38:11孤儿进程调用setsid之后,还是孤儿进程么? 首先可以确认,在linux系统中,调用setsid的进程没有控制终端,但是可以调用read(stdin_fileno) 不会返回 -1. 而没有调用setsid的子进程,成为孤儿之后,调用read(stdin... -
python进程提权与检测进程调用所有模块
2014-07-21 12:25:48前段时间闲着没事,做查进程的,ring0层面的方法太多代码也太多,头脑发热 -
vue添加Electron在渲染进程调用ipc报错:__dirname is not defined
2020-08-21 09:49:31使用vue创建项目并添加vue-cli-plugin-electron-builder插件后在渲染进程中调用ipc与主进程通讯报错:__dirname is not defined 错误原因 As of v2.0 of VCPEB, Electron nodeIntegration is disabled by default. ... -
-
计算机操作系统基础(十五)---使用fork系统调用创建进程
2020-07-08 12:43:10创建进程属于非常重要的内容,无论是哪种语言,底层在创建进程的时候都是使用fork函数,本文使用C语言来熟悉fork系统调用创建进程 使用fork系统调用创建进程 fork系统调用是用于创建进程的 fork创建的进程初始化... -
友盟推送 mPushAgent.register方法应该在主进程和channe进程中都被调用
2018-11-30 01:36:51OPPO 手机出现"mPushAgent.register方法应该在主进程和channe进程中都被调用提示 其他手机不会,而且OPPO手机也是偶尔出现一次是什么原因导致的,推送配置是按官方文档配置。![图片说明]... -
C#在一个进程中调用另一个进程后台进程IsBackground
2017-02-21 16:17:22最近在做一个项目时,需要在一个进程中调用另一个进程,这里记录一下, 在msdn 上有一个简介,上面的介绍:https://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx 是通过...