用户进程里面的dwwin是什么啊? 开机无法出现桌面,多了这个进程

本文介绍如何禁用Windows系统自带的Dr.Watson错误报告程序,以避免其在程序崩溃时自动生成大型DUMP文件导致的问题。
部署运行你感兴趣的模型镜像

进程文件: dwwin.exe

进程名称: Microsoft Doctor Watson

描述:
dwwin.exe是微软Doctor Watson错误报告程序,包括在一些微软的产品中。
Dr.Watson是一个崩溃分析工具,它会在应用程序崩溃的时候自动弹出,并且在默认情况下,它会将与出错有关的内存存为DUMP文件以供程序员分析。

不过我们作为普通用户,记录DUMP文件不但毫无用处,而且还有两个极大的缺点:

1.崩溃的瞬间,会有一个对话框弹出,告知应用程序出错将被关闭。这时,一般伴随有巨型的读盘现象,要过很久程序才能关闭。这是因为Dr.Watson在做内存DUMP。

2.占用大量磁盘空间。有时DUMP下来的这些文件会占用大量的磁盘空间。
实际上DRWTSN32是Windows默认的出错调试器,如果我们根本不想用它的话,打开注册表编辑器,进入主键〔HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug〕,然后将“AUTO”键值设置为0。

3.在"开始"->"运行"中输入"drwtsn32"命令,或者"开始"->"程序"->"附件"->"系统工具"->"系 统信息"->"工具"->"Dr Watson",调出系统里的华医生Dr.Watson ,只保留"转储全部线程 上下文"选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。如以前有此情况,请 查找user.dmp文件,删除之。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 服务和进程的定义 #### 进程 (Process) 进程是操作系统中资源分配的基本单位,是程序在计算机上运行的一个实例。每个进程拥有独立的虚拟地址空间,包含代码段、数据段、堆和栈等资源。进程控制块(PCB)存储了有关进程状态的信息,如进程 ID、寄存器状态、调度信息等。进程可以独立运行,并且是系统调度和资源分配的基本单位[^2]。 #### 服务 (Service) 服务是一种在后台运行的程序,通常用于执行长期任务,不需要用户直接交互。它可以在系统启动时自动运行,并持续运行直到系统关闭。服务通常用于执行系统级任务,如网络监听、日志记录、定时任务等。服务可以运行在独立的进程中,也可以作为某个进程的一部分存在。服务的设计目的是为了提供某种功能,供其他程序或系统调用[^4]。 ### 服务与进程的区别 #### 1. **运行方式** - **进程**:进程是一个独立的执行单元,拥有自己的地址空间和资源。进程之间相互隔离,不能直接共享内存。 - **服务**:服务可以是一个独立的进程,也可以依附于其他进程。服务通常以守护进程(daemon)的方式运行,持续监听和响应请求。 #### 2. **生命周期** - **进程**:进程的生命周期由创建到销毁,通常由用户或程序主动启动,执行完成后终止。例如,通过 `fork()` 创建进程,通过 `exit()` 终止进程。 - **服务**:服务的生命周期通常较长,可能在系统启动时自动启动,并在系统关闭时终止。服务可以通过系统管理工具(如 `systemd` 或 `Windows 服务管理器`)进行管理[^4]。 #### 3. **交互性** - **进程**:进程可以是交互式的,也可以是非交互式的。例如,用户运行的命令行程序通常是交互式的,而后台运行的程序是非交互式的。 - **服务**:服务通常是非交互式的,它们在后台运行,不与用户直接交互。服务的设计目的是为了提供某种功能,而不是与用户进行交互[^4]。 #### 4. **资源管理** - **进程**:每个进程拥有独立的资源,如内存、文件描述符等。进程之间的资源隔离性较好,但进程间通信(IPC)需要额外的机制支持。 - **服务**:服务的资源管理取决于其运行的进程。如果服务作为一个独立的进程运行,则拥有独立的资源;如果依附于其他进程,则共享该进程的资源[^2]。 #### 5. **应用场景** - **进程**:进程适用于需要独立运行的任务,如运行应用程序、执行脚本、处理计算密集型任务等。 - **服务**:服务适用于需要长期运行的任务,如 Web 服务器、数据库服务器、定时任务、日志记录等。服务通常用于提供系统级功能,供其他程序调用。 ### 示例代码 #### 创建进程 (Linux 环境) ```c #include <stdio.h> #include <unistd.h> #include <sys/types.h> int main() { pid_t pid = fork(); // 创建子进程 if (pid == 0) { // 子进程 printf("This is the child process.\n"); } else if (pid > 0) { // 父进程 printf("This is the parent process.\n"); } else { // fork 失败 printf("Failed to create a new process.\n"); } return 0; } ``` #### 创建服务 (Windows 环境) ```c #include <windows.h> #include <tchar.h> SERVICE_STATUS_HANDLE hServiceStatusHandle; SERVICE_STATUS ServiceStatus = {0}; HANDLE hServiceStopEvent = NULL; void WINAPI ServiceMain(DWORD argc, LPTSTR *argv) { ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; ServiceStatus.dwCurrentState = SERVICE_START_PENDING; ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP; ServiceStatus.dwWin32ExitCode = 0; ServiceStatus.dwServiceSpecificExitCode = 0; ServiceStatus.dwCheckPoint = 0; ServiceStatus.dwWaitHint = 0; hServiceStatusHandle = RegisterServiceCtrlHandler(_T("MyService"), (LPHANDLER_FUNCTION)ServiceCtrlHandler); if (hServiceStatusHandle == 0) { return; } // 设置服务为运行状态 ServiceStatus.dwCurrentState = SERVICE_RUNNING; SetServiceStatus(hServiceStatusHandle, &ServiceStatus); // 服务主循环 while (WaitForSingleObject(hServiceStopEvent, 0) != WAIT_OBJECT_0) { // 执行服务任务 Sleep(1000); } // 设置服务为停止状态 ServiceStatus.dwCurrentState = SERVICE_STOPPED; SetServiceStatus(hServiceStatusHandle, &ServiceStatus); } void WINAPI ServiceCtrlHandler(DWORD CtrlCode) { switch (CtrlCode) { case SERVICE_CONTROL_STOP: ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING; SetServiceStatus(hServiceStatusHandle, &ServiceStatus); SetEvent(hServiceStopEvent); break; default: break; } } int _tmain(int argc, _TCHAR *argv[]) { SERVICE_TABLE_ENTRY ServiceTable[] = { {_T("MyService"), (LPSERVICE_MAIN_FUNCTION)ServiceMain}, {NULL, NULL} }; if (StartServiceCtrlDispatcher(ServiceTable) == FALSE) { return GetLastError(); } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值