Wishlist 0 ¥0.00

Windows中无用的服务名怎么删除

一、什么是Windows服务

Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作。诸如DNS客户端、打印程序、Windows更新服务、计划任务、Windows时间服务、告警器等服务,它们关系到机器能否正确运行。如果不能适当地管理这些服务,就会影响到机器的正常操作。

一个服务首先是一个Win32可执行程序,或者是是rundll32.exe来运行一个。dll的方式形成的进程。

跟普通应用程序不一样,如打开WORD,有一个界面出来,但服务没有用户界面。也不能通过直接双击运行相应的。exe程序来运行。那Windows又是如何控制一个服务的?

Windows的服务由更上一级的services.exe这个服务来管理,由它来管理,负责进行服务的启动、停止、运行,暂停等。我们最常用的操作就是通过Windows的服务MMC界面来完成相关操作。

二、如何删除Windows服务

现在的流氓软件,越来越多把自己注册为一个服务。在Hijackthis的扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段:

O23 - 未知 - Service: BKMARKS [提供传输协议的数据安全保护机制,有效维护数据传输中的安全及完整。] - C:\WINDOWS\SYSTEM32\RUNDLL.EXE

O23 - 未知 - Service: ewido anti-spyware 4.0 guard [ewido anti-spyware 4.0 guard] - D:\Program Files\ewido anti-spyware 4.0\guard.exe

O23 - 未知 - Service: KSD2Service [KSD2Service] - C:\WINDOWS\system32\SVCH0ST.exe

对于这些流氓软件,需要删除相关的。exe文件,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。

删除的办法有两个:

办法一: 用sc.exe这个Windows命令

开始--运行--cmd.exe,然后输入sc就可以看到了。使用办法很简单:

sc delete “服务名” (如果服务名中间有空格,就需要前后加引号)

如针对上面的: sc delete KSD2Service (这个方法我已经试过了可以的)

方法二:直接进行注册表编辑(不推荐)

打开注册表编辑器,找到下面的键值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可。

三、特殊情况

1、如果服务显示的是rundll32.exe,并且这个文件是位于system32目录下,那么就不能删除这个rundll32.exe文件,它是Windows系统的文件。这时只要清除相关的服务就可以了

2、如果一个服务删除了马上又自动建立了,说明后台有进程在监视、保护。需要先在进程管理器中杀掉相应的进程,或者启动后按F8,到安全模式下删除。

utf8和utf8mb4的区别

一、简介

   MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。

   二、内容描述

   那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等(utf8的缺点)。

 

 

   三、问题根源

   最初的 UTF-8 格式使用一至六个字节,最大能编码 31 位字符。最新的 UTF-8 规范只使用一到四个字节,最大能编码21位,正好能够表示所有的 17个 Unicode 平面。

   utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面。

   Mysql 中的 utf8 为什么只支持持最长三个字节的 UTF-8字符呢?我想了一下,可能是因为 Mysql 刚开始开发那会,Unicode 还没有辅助平面这一说呢。那时候,Unicode 委员会还做着 “65535 个字符足够全世界用了”的美梦。Mysql 中的字符串长度算的是字符数而非字节数,对于 CHAR 数据类型来说,需要为字符串保留足够的长。当使用 utf8 字符集时,需要保留的长度就是 utf8 最长字符长度乘以字符串长度,所以这里理所当然的限制了 utf8 最大长度为 3,比如 CHAR(100)  Mysql 会保留 300字节长度。至于后续的版本为什么不对 4 字节长度的 UTF-8 字符提供支持,我想一个是为了向后兼容性的考虑,还有就是基本多文种平面之外的字符确实很少用到。

   要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持(查看版本: select version();)。我觉得,为了获取更好的兼容性,应该总是使用 utf8mb4 而非 utf8.  对于 CHAR 类型数据,utf8mb4 会多消耗一些空间,根据 Mysql 官方建议,使用 VARCHAR  替代 CHAR。

   引用批注

   [1] 谈谈字符集与字符编码

   http://my.oschina.net/leejun2005/blog/232732#OSC_h3_4

   [2] 关于 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析

   http://my.oschina.net/leejun2005/blog/343353

简单来说数据库若设置为utf8则无法插入4字节的宽字符,还有一些小表情无法保存.

mySQL Workbench创建数据库

1.首先连接数据库

2.

 

 

点击图中的红圈里的按钮,新建一个Schema,即数据库(个人理解。。),修改一下Name 的值,如  mydatabase ,点击apply,再点apply,然后点finish  如下图所示

 

 

 

数据库就建好了!!! 如图

 

 

接下来就是如何创建表,

首先要     !!!双击!!!    一下刚刚建立好的数据库mydatabase,然后再创建表,不然会出错,右键点击Tables 然后点击Create new tables ,填写表名,以及表列的信息,之后点击  apply ,一张表就建完

 PK: primary key (column is part of a pk)  主键

 NN: not null (column is nullable)  是否为空

-UQ: unique (column is part of a unique key)  外键

 AI: auto increment (the column is auto incremented when rows are inserted)  自动增加

  BIN: binary (if dt is a blob or similar, this indicates that is binary data, rather than text)   二进制

 UN: unsigned (for integer types, see docs: “10.2. Numeric Types”)

- ZF: zero fill (rather a display related flag, see docs: “10.2. Numeric Types”)

 出现如下页面

注意:添加表列信息点击上图的右上角的箭头(两个往上的箭头) 

 

 

接下来向建好的tb_student表中添加数据

 

 

右键点击tb_student,再点击select rows  limit 1000

在mysql workbench中向数据库中的表中添加数据大致就是这个样子。

报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key 'username'

在提交注册信息的时候报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key 'username'

原因:主键冲突

 

用户名和邮箱必须唯一,如果填入重复的用户名或者邮箱就会出错

解决方法:在控制器里面进行判断

$data = input('post.');             $uniquename = model('User')->get(['username'=>$data['username']]);             if(sizeof($uniquename)){                 $this->error('该用户名已经注册,请重新填写~~~');             }             $uniqueemail = model('User')->get(['email'=>$data['email']]);             if(sizeof($uniqueemail)){                 $this->error('该邮箱已经注册,请重新填写~~~');             }

添加上面代码之后,如果填写了重复的用户名或者密码就会给用户相关提示~~~

About Us

Since 1996, our company has been focusing on domain name registration, web hosting, server hosting, website construction, e-commerce and other Internet services, and constantly practicing the concept of "providing enterprise-level solutions and providing personalized service support". As a Dell Authorized Solution Provider, we also provide hardware product solutions associated with the company's services.
 

Contact Us

Address: No. 2, Jingwu Road, Zhengzhou City, Henan Province

Phone: 0086-371-63520088 

QQ:76257322

Website: 800188.com

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.