精华内容
下载资源
问答
  • 若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或job指令查看。 语法 kill(选项)(参数) 选项 -a:当处理当前进程时,不限制命令名和进程号的对应关系; -l <信息编号>...

    ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

    语法

    ps(选项)

    选项

    -a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
    a:显示现行终端机下的所有程序,包括其他用户的程序。
    -A:显示所有程序。
    -c:显示CLS和PRI栏位。
    c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
    -C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
    -d:显示所有程序,但不包括阶段作业领导者的程序。
    -e:此选项的效果和指定"A"选项相同。
    e:列出程序时,显示每个程序所使用的环境变量。
    -f:显示UID,PPIP,C与STIME栏位。
    f:用ASCII字符显示树状结构,表达程序间的相互关系。
    -g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。
    g:显示现行终端机下的所有程序,包括群组领导者的程序。
    -G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。
    h:不显示标题列。
    -H:显示树状结构,表示程序间的相互关系。
    -j或j:采用工作控制的格式显示程序状况。
    -l或l:采用详细的格式来显示程序状况。
    L:列出栏位的相关信息。
    -m或m:显示所有的执行绪。
    n:以数字来表示USER和WCHAN栏位。
    -N:显示所有的程序,除了执行ps指令终端机下的程序之外。
    -p<程序识别码>:指定程序识别码,并列出该程序的状况。
    p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
    r:只列出现行终端机正在执行中的程序。
    -s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
    s:采用程序信号的格式显示程序状况。
    S:列出程序时,包括已中断的子程序资料。
    -t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
    t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
    -T:显示现行终端机下的所有程序。
    -u<用户识别码>:此选项的效果和指定"-U"选项相同。
    u:以用户为主的格式来显示程序状况。
    -U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
    U<用户名称>:列出属于该用户的程序的状况。
    v:采用虚拟内存的格式显示程序状况。
    -V或V:显示版本信息。
    -w或w:采用宽阔的格式来显示程序状况。 
    x:显示所有程序,不以终端机来区分。
    X:采用旧式的Linux i386登陆格式显示程序状况。
    -y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
    -<程序识别码>:此选项的效果和指定"p"选项相同。
    --cols<每列字符数>:设置每列的最大字符数。
    --columns<每列字符数>:此选项的效果和指定"--cols"选项相同。
    --cumulative:此选项的效果和指定"S"选项相同。
    --deselect:此选项的效果和指定"-N"选项相同。
    --forest:此选项的效果和指定"f"选项相同。
    --headers:重复显示标题列。
    --help:在线帮助。
    --info:显示排错信息。
    --lines<显示列数>:设置显示画面的列数。
    --no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。
    --group<群组名称>:此选项的效果和指定"-G"选项相同。
    --Group<群组识别码>:此选项的效果和指定"-G"选项相同。
    --pid<程序识别码>:此选项的效果和指定"-p"选项相同。
    --rows<显示列数>:此选项的效果和指定"--lines"选项相同。
    --sid<阶段作业>:此选项的效果和指定"-s"选项相同。
    --tty<终端机编号>:此选项的效果和指定"-t"选项相同。
    --user<用户名称>:此选项的效果和指定"-U"选项相同。
    --User<用户识别码>:此选项的效果和指定"-U"选项相同。
    --version:此选项的效果和指定"-V"选项相同。
    --widty<每列字符数>:此选项的效果和指定"-cols"选项相同。

    由于ps命令能够支持的系统类型相当的多,所以选项多的离谱!

    top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

    语法

    top(选项)

    选项

    -b:以批处理模式操作;
    -c:显示完整的治命令;
    -d:屏幕刷新间隔时间;
    -I:忽略失效过程;
    -s:保密模式;
    -S:累积模式;
    -i<时间>:设置间隔时间;
    -u<用户名>:指定用户名;
    -p<进程号>:指定进程;
    -n<次数>:循环显示的次数。

    top交互命令

    在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

    h:显示帮助画面,给出一些简短的命令总结说明;
    k:终止一个进程;
    i:忽略闲置和僵死进程,这是一个开关式命令;
    q:退出程序;
    r:重新安排一个进程的优先级别;
    S:切换到累计模式;
    s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
    f或者F:从当前显示中添加或者删除项目;
    o或者O:改变显示项目的顺序;
    l:切换显示平均负载和启动时间信息;
    m:切换显示内存信息;
    t:切换显示进程和CPU状态信息;
    c:切换显示命令名称和完整命令行;
    M:根据驻留内存大小进行排序;
    P:根据CPU使用百分比大小进行排序;
    T:根据时间/累计时间进行排序;
    w:将当前设置写入~/.toprc文件中。

    实例

    top - 09:44:56 up 16 days, 21:23,  1 user,  load average: 9.59, 4.75, 1.92
    Tasks: 145 total,   2 running, 143 sleeping,   0 stopped,   0 zombie
    Cpu(s): 99.8%us,  0.1%sy,  0.0%ni,  0.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   4147888k total,  2493092k used,  1654796k free,   158188k buffers
    Swap:  5144568k total,       56k used,  5144512k free,  2013180k cached

    解释:

    • top - 09:44:56[当前系统时间],
    • 16 days[系统已经运行了16天],
    • 1 user[个用户当前登录],
    • load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
    • Tasks: 145 total[总进程数],
    • 2 running[正在运行的进程数],
    • 143 sleeping[睡眠的进程数],
    • 0 stopped[停止的进程数],
    • 0 zombie[冻结进程数],
    • Cpu(s): 99.8%us[用户空间占用CPU百分比],
    • 0.1%sy[内核空间占用CPU百分比],
    • 0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
    • 0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
    • 0.0%hi[],
    • 0.0%st[],
    • Mem: 4147888k total[物理内存总量],
    • 2493092k used[使用的物理内存总量],
    • 1654796k free[空闲内存总量],
    • 158188k buffers[用作内核缓存的内存量]
    • Swap:  5144568k total[交换区总量],
    • 56k used[使用的交换区总量],
    • 5144512k free[空闲交换区总量],
    • 2013180k cached[缓冲的交换区总量],

    kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

    语法

    kill(选项)(参数)

    选项

    -a:当处理当前进程时,不限制命令名和进程号的对应关系;
    -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
    -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
    -s <信息名称或编号>:指定要送出的信息;
    -u:指定用户。

    参数

    进程或作业识别号:指定要删除的进程或作业。


    展开全文
  • PyQt之弹出对话框(QMessageBox)的常用方法及标准按钮类型 一、控件说明 QMessageBox是一种通用的弹出对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈,且每个标准按钮都有一个预定义的文本...

    PyQt之弹出式对话框(QMessageBox)的常用方法及标准按钮类型

    一、控件说明

    QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈,且每个标准按钮都有一个预定义的文本、角色和十六进制数。
    QNessageBox类提供了如:提示、警告、错误、问询、关于等对话框(这些不同类型的对话框只是显示的图标不同其他功能均一致)

    二、QMessageBox类中的常用方法

    infomation(QWidget parent,title text,buttons,defaultButton):

    • 弹出消息对话框,对应参数如下:

      parent:指定父窗口
      title:对话框标题
      text:对话框文本
      buttons:多个标准按钮,默认为OK按钮
      defaultButton:默认选中的标准按钮,默认为对话框中第一个按钮
      在这里插入图片描述
      question(QWidget parent,title text,buttons,defaultButton):

    • 弹出问答对话框(参数同上)

    在这里插入图片描述
    warning(QWidget parent,title text,buttons,defaultButton)::

    • 弹出警告对话框(参数同上)

    在这里插入图片描述
    critical(QWidget parent,title text,buttons,defaultButton):

    • 弹出严重错误对话框(参数同上)

    在这里插入图片描述
    about(QWidget parent,title,text)

    • 弹出关于对话框(参数同上)

    在这里插入图片描述

    setTitle():

    • 设置标题

    setText():

    • 设置正文消息

    setIcon():

    • 设置弹出对话框的图片

    具体代码可参考下方例子。

    三、QMessageBox的标准按钮类型

    QMessage.OK
    确认操作
    QMessage.Cancel
    取消操作
    QMessage.Yes
    确认操作
    QMessage.No
    取消操作
    QMessage.Abort
    终止操作
    QMessage.Retry
    重试操作
    QMessage.Igonre
    忽略操作
    四、例子

    import sys
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
    class MyWindow(QWidget):
        def __init__(self,parent=None):
            super(MyWindow,self).__init__(parent)
            self.setWindowTitle("弹出式对话框例子")
            self.resize(400,200)
            self.btn1=QPushButton(self)
            self.btn1.setText("消息框")
            self.btn1.clicked.connect(self.msg1)
            layout=QVBoxLayout()
    
            self.btn2=QPushButton(self)
            self.btn2.setText("问答对话框")
            self.btn2.clicked.connect(self.msg2)
    
            self.btn3=QPushButton()
            self.btn3.setText("警告对话框")
            self.btn3.clicked.connect(self.msg3)
    
            self.btn4=QPushButton()
            self.btn4.setText("严重错误对话框")
            self.btn4.clicked.connect(self.msg4)
    
            self.btn5=QPushButton()
            self.btn5.setText("关于对话框")
            self.btn5.clicked.connect(self.msg5)
    
            layout.addWidget(self.btn1)
            layout.addWidget(self.btn2)
            layout.addWidget(self.btn3)
            layout.addWidget(self.btn4)
            layout.addWidget(self.btn5)
    
            self.setLayout(layout)
    
        
        def msg1(self):
            #使用infomation信息框
            QMessageBox.information(self,"标题","消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
        def msg2(self):
             QMessageBox.question(self,"标题","问答消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
        def msg3(self):
            QMessageBox.warning(self,"标题","警告消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
        def msg4(self):
            QMessageBox.critical(self,"标题","严重错误消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
        def msg5(self):
            QMessageBox.about(self,"标题","关于消息正文")
    
    if __name__=="__main__":
        app=QApplication(sys.argv)
        win=MyWindow()
        win.show()
        sys.exit(app.exec_())
    
    展开全文
  • ,还可以抛异常进行终止。 而且《代码整洁之道》中推荐,用抛异常代替返回 null 值来处理。 七. Spring 中常用注解. 面试提问:你用过Spring的那些注解? 1. @Component 创建类对象,相当于配置 ...

    一.自动注入

    1.在Spring 配置文件中对象名和ref=”id” . id 名相同,使用自动注入,可以不配置<property/>

    2.两种配置办法
    2.1 在<bean>中通过autowire=””配置,只对这个<bean>生效
    2.2 在<beans>中通过default-autowire=””配置,表当当前文件中所有<bean>都是全局配置内容

    3.autowire=”” 可取值
    3.1 default: 默认值,根据全局default-autowire=””值.默认全局和局部都没有配置情况下,相当于no
    3.2 no: 不自动注入
    3.3 byName: 通过名称自动注入.在 Spring 容器中找类的 id
    3.4 byType: 根据类型注入.
    3.4.1 spring 容器中不可以出现两个相同类型的<bean>
    3.5 constructor: 根据构造方法注入.
    3.5.1 提供对应参数的构造方法(构造方法参数中包含注入对象)
    3.5.2 底层使用byName, 构造方法参数名和其他<bean>的id相同.


    二. Spring 中加载 properties 文件

    1. 在 src 下新建 xxx.properties 文件

    2. 在spring 配置文件中先引入xmlns:context,在下面添加
    2.1 如果需要记载多个配置文件逗号分割

    <context:property-placeholder location="classpath:db.properties"/>
    

    3. 添加了属性文件记载,并且在<beans>中开启自动注入注意的地方
    3.1 【注意】由于自动注入的优先级别较高,ref影响了bean的加载顺序,所以SqlSessionFactoryBeanid不能叫做sqlSessionFactory,否则,会由于错误的加载顺序导致加载不到配置文件报错
    3.2 修改
    3.2.1 把原来通过ref 引用替换成value 赋值,自动注入只能影响ref,不会影响value 赋值

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    	<property name="basePackage" value="com.bjsxt.mapper"></property>
    	<property name="sqlSessionFactoryBeanName" value="factory"></property>
    </bean>
    

    4. 在被Spring 管理的类中通过@Value(“${key}”)取出 properties 中内容
    4.1 添加注解扫描

    <context:component-scan base-package="com.bjsxt.service.impl"></context:component-scan>
    

    4.2 在类中添加@Value,示例如下:
    4.2.1 key 和变量名可以不相同
    4.2.2 变量类型任意,只要保证 key 对应的 value 能转换成这个类型就可以.

    @Value("${my.demo}")
    private String test;
    

    三.scope 属性

    1. <bean>的属性

    2. 作用:控制对象有效范围(单例,多例等)

    3. <bean/>标签对应的对象默认是单例的.
    3.1 无论获取多少次,都是同一个对象

    4. scope 可取值如下:
    4.1 singleton 默认值,单例(常用)
    4.2 prototype 多例,每次获取重新实例化(常用)
    4.3 request 每次请求重新实例化
    4.4 session 每个会话对象内,对象是单例的.
    4.5 application 在 application 对象内是单例
    4.6 global session spring 推出的一个对象, 依赖于 spring-webmvc-portlet ,类似于 session


    四.单例设计模式

    1. 作用: 在应用程序有保证最多只能有一个实例.

    2. 好处:
    2.1 提升运行效率.
    2.2 实现数据共享. 案例: application 对象

    3. 懒汉式
    3.1 对象只有被调用时才去创建.
    3.2 示例代码

    public class SingleTon {
    	// 由于对象需要被静态方法调用,把方法设置为static
    	// 由于对象是static,必须要设置访问权限修饰符为private,如果是public 可以直接调用对象,不执行访问入口
    	private static SingleTon singleton;
    
    	// 方法名和类名相同,无返回值.。其他类不能实例化这个类对象, 对外提供访问入口
    	private SingleTon() {
    	}
    
    	// 实例方法,实例方法必须通过对象调用,设置方法为静态方法
    	public static SingleTon getInstance() {
    		// 添加逻辑如果实例化过,直接返回
    		if (singleton == null) {
    			// 多线程访问下,可能出现if 同时成立的情况,添加锁
    			synchronized (SingleTon.class) {
    				// 拿到锁后的双重验证
    				if (singleton == null) {
    					singleton = new SingleTon();
    				}
    			}
    		}
    		return singleton;
    	}
    }
    

    3.3 由于添加了锁,所以导致效率低.

    4. 饿汉式
    4.1 解决了懒汉式中多线程访问可能出现同一个对象和效率低问题

    public class SingleTon {
    	//在类加载时进行实例化.
    	private static SingleTon singleton = new SingleTon();
    
    	private SingleTon() {
    	}
    
    	public static SingleTon getInstance() {
    		return singleton;
    	}
    }
    

    五. 声明式事务

    1.编程式事务:
    1.1 由程序员编程事务控制代码.
    1.2 OpenSessionInView 编程式事务

    2.声明式事务:
    2.1 事务控制代码已经由spring 写好.程序员只需要声明出哪些方法需要进行事务控制和如何进行事务控制.

    3.声明式事务都是针对于 ServiceImpl 类下方法的.

    4.事务管理器基于通知(advice)的.

    5.在spring 配置文件中配置声明式事务

    <context:property-placeholder location="classpath:db.properties,classpath:second.properties" />
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    	<property name="driverClassName" value="${jdbc.driver}"></property>
    	<property name="url" value="${jdbc.url}"></property>
    	<property name="username" value="${jdbc.username}"></property>
    	<property name="password" value="${jdbc.password}"></property>
    </bean>
    <!-- spring-jdbc.jar 中 -->
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    	<property name="dataSource" ref="dataSource"></property>
    </bean>
    <!-- 配置声明式事务 -->
    <tx:advice id="txAdvice" transaction-manager="txManager">
    	<tx:attributes>
    		<!-- 哪些方法需要有事务控制 -->
    		<!-- 方法以ins 开头事务管理 -->
    		<tx:method name="ins*" />
    		<tx:method name="del*" />
    		<tx:method name="upd*" />
    		<tx:method name="*" />
    	</tx:attributes>
    </tx:advice>
    <aop:config>
    	<!-- 切点范围设置大一些 -->
    	<aop:pointcut expression="execution(* com.bjsxt.service.impl.*.*(..))" id="mypoint" />
    	<aop:advisor advice-ref="txAdvice" pointcut-ref="mypoint" />
    </aop:config>
    

    六.声明式事务中属性解释

    1. name=”” 哪些方法需要有事务控制
    1.1 支持*通配符

    2. readonly=”boolean” 是否是只读事务.
    2.1 如果为true,告诉数据库此事务为只读事务.数据库层面的优化,会对性能有一定提升,所以,只要是(只进行)查询操作的方法,建议使用此配置.
    2.2 如果为false(默认值),事务需要提交的事务.建议在需要进行新增,删除,修改的操作中使用此配置.

    3. propagation 控制事务传播行为.
    3.1 当一个具有事务控制的方法被另一个有事务控制的方法调用后,需要如何管理事务(新建事务?在事务中执行?把事务挂起?报异常?)
    3.2 REQUIRED (默认值): 如果当前有事务,就在事务中执行,如果当前没有事务,新建一个事务.
    3.3 SUPPORTS:如果当前有事务就在事务中执行,如果当前没有事
    务,就在非事务状态下执行.
    3.4 MANDATORY:必须在事务内部执行,如果当前有事务,就在事务中执行,如果没有事务,报错.
    3.5 REQUIRES_NEW:必须在事务中执行,如果当前没有事务,新建事务,如果当前有事务,把当前事务挂起.
    3.6 NOT_SUPPORTED:必须在非事务下执行,如果当前没有事务,正常执行,如果当前有事务,把当前事务挂起.
    3.7 NEVER:必须在非事务状态下执行,如果当前没有事务,正常执行,如果当前有事务,报错.
    3.8 NESTED:必须在事务状态下执行.如果没有事务,新建事务,如果当前有事务,创建一个嵌套事务.

    4. isolation=”” 事务隔离级别
    4.1 在多线程或并发访问下如何保证访问到的数据具有完整性的.
    4.2 脏读:
    4.2.1 一个 事务(A) 读取到另一个 事务(B) 中未提交的数据,另一个事务中数据可能进行了改变,此时 A 事务读取的数据可能和数据库中数据是不一致的,此时认为数据是脏数据,读取脏数据过程叫做脏读.
    4.3 不可重复读:
    4.3.1 主要针对的是某行数据.(或行中某列)
    4.3.2 主要针对的操作是修改操作.
    4.3.3 两次读取在同一个事务内
    4.3.4 当 事务A 第一次读取事务后,事务B 对事务A 读取的数据进行修改, 事务A 中再次读取的数据和之前读取的数据不一致,过程不可重复读.
    4.4 幻读:
    4.4.1 主要针对的操作是新增或删除
    4.4.2 两次事务的结果.
    4.4.3 事务A 按照特定条件查询出结果, 事务B 新增了一条符合条件的数据. 事务A 中查询的数据和数据库中的数据不一致的, 事务A 好像出现了幻觉,这种情况称为幻读.
    4.5 DEFAULT: 默认值,由底层数据库自动判断应该使用什么隔离界别
    4.6 READ_UNCOMMITTED: 可以读取未提交数据,可能出现脏读,不重复读,幻读.
    4.6.1 效率最高.
    4.7 READ_COMMITTED:只能读取其他事务已提交数据.可以防止脏读,可能出现不可重复读和幻读.
    4.8 REPEATABLE_READ: 读取的数据被添加锁,防止其他事务修改此数据,可以防止不可重复读.脏读,可能出现幻读.
    4.9 SERIALIZABLE: 排队操作,对整个表添加锁.一个事务在操作数据时,另一个事务等待事务操作完成后才能操作这个表.
    4.9.1 最安全的
    4.9.2 效率最低的.

    5. rollback-for=”异常类型全限定路径”
    5.1 当出现什么异常时需要进行回滚
    5.2 建议:给定该属性值.
    5.2.1 手动抛异常一定要给该属性值.

    6. no-rollback-for=””
    6.1 当出现什么异常时不滚回事务.

    程序执行过程中,遇到错误需要处理时,不一定是返回null,还可以抛异常进行终止。
    而且《代码整洁之道》中推荐,用抛异常代替返回null值来处理。


    七. Spring 中常用注解.

    面试提问:你用过Spring的那些注解?

    1. @Component 创建类对象,相当于配置<bean/>

    2. @Service@Component 功能相同.
    2.1 写在ServiceImpl 类上.

    3. @Repository@Component 功能相同.
    3.1 写在数据访问层类上.

    4. @Controller@Component 功能相同.
    4.1 写在控制器类上.

    5. @Resource(不需要写对象的get/set)
    5.1 java 中的注解
    5.2 默认按照byName 注入,如果没有名称对象,按照byType 注入
    5.2.1 建议把对象名称和 spring 容器中对象名相同

    6. @Autowired(不需要写对象的get/set)
    6.1 spring 的注解
    6.2 默认按照byType 注入.

    7. @Value() 获取 properties 文件中内容

    8. @Pointcut() 定义切点

    9. @Aspect() 定义切面类

    10. @Before() 前置通知

    11. @After 后置通知

    12. @AfterReturning 后置通知,必须切点正确执行

    13. @AfterThrowing 异常通知

    14. @Arround 环绕通知


    八. Ajax 复习

    1. 标准请求响应时浏览器的动作(同步操作)
    1.1 浏览器请求什么资源,跟随显示什么资源

    2. ajax:异步请求.
    2.1 局部刷新,通过异步请求,请求到服务器资源数据后,通过脚本修改页面中部分内容.

    3. ajax 由javascript 推出的.
    3.1 由 jquery 对 js 中 ajax 代码进行的封装,达到使用方便的效果.

    4. jquery 中 ajax 分类(简化程度分为三个层级)
    4.1 第一层级,较复杂:$.ajax({ 属性名:值,属性名:值})
    4.1.1 是 jquery 中功能最全的.代码写起来相对最麻烦的.
    4.1.2 示例代码

    /*
    	url: 请求服务器地址
    	data:请求参数
    	dataType:服务器返回数据类型
    	error 请求出错执行的功能
    	success 请求成功执行的功能,function(data) data 服务器返回的数据.
    	type:请求方式
    */
    $("a").click(function() {
    	$.ajax({
    		url: 'demo',
    		data: {
    			"name": "张三"
    		},
    		dataType: 'html',
    		error: function() {
    			alert("请求出错.")
    		},
    		success: function(data) {
    			alert("请求成功" + data)
    		},
    		type: 'POST'
    	});
    	return false;
    })
    

    4.2 第二层级,(简化$.ajax)
    4.2.1 $.get(url,data,success,dataType))
    4.2.2 $.post(url,data,success,dataType)

    4.3 第三层级,(简化$.get())
    4.3.1 $.getJSON(url,data,success). 相当于设置$.getdataType=”json”
    4.3.2 $.getScript(url,data,success) 相当于设置$.getdataType=”script”

    5. 如果服务器返回数据是从表中取出.为了方便客户端操作返回的数据,服务器端返回的数据设置成json
    5.1 客户端把 json 当作对象或数组操作.

    6. json:数据格式.
    6.1 JsonObject : json 对象,理解成 java 中对象

    {“key1”:value1,”key2”:value2}
    

    6.2 JsonArray: json 数组

    [{“key1”:value1,”key2”:value2},{}]
    
    展开全文
  • Linux终止/休眠进程

    千次阅读 2019-12-15 16:40:44
    文章目录终止/休眠进程使用kill命令终止进程kill语法说明kill实例根据PID终止指定进程强制杀死进程彻底杀死进程显示信号发送SIGHUP信号,可以使用一下信号得到指定信号的数值终止当前shell启动的进程杀死指定用户...

    终止/休眠进程

    在Linux中可以使用Ctrl+C组合键终止前台进程,可以根据PID使用kill来终止单个进程,也可以根据进程名使用killall命令来终止多个进程,也可以使用pkill踢掉用户
    区别

    • kill根据PID终止单个进程
    • killall根据进程名终止一类进程
    • pkill踢出某个终端

    ##使用Ctrl+C终止前台进程
    通常终止一个前台进程可以使用Ctrl+C组合键

    使用kill命令终止进程

    kill 命令是按照 PID 来确定进程的,所以 kill 命令只能识别 PID,而不能识别进程名
    Ctrl+C组合键只能终止前台进程,要想终止一个后台进程,需要使用kill命令
    Kill命令可以将指定的信号送至程序。默认情况下,kill会发送TERM(15)信号,可将指定程序终止。若仍无法终止该进程,可使用KILL(9)信号尝试强制删除程序

    init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init  始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的!

    kill语法

    功能说明:终止后台进程
    语法

    kill [-s <信号名称或编号>][程序]
    kill [-l <信号编号>]
    

    选项及参数

    • -l <信号编号>:若不加<信号编号>选项,则-l参数会列出全部的信号名称。
    • -s <信号名称或编号>:指定要送出的信号。既可以是信号名称,也可以是对应型号的号码
    • [程序]:[程序]可以是程序的PID或是PGID,也可以是工作编号

    ####常用信号

    信号编号 信号名 含义
    0 EXIT 程序退出时收到该信息。
    1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
    2 INT 表示结束进程,但并不是强制性的,常用的 “Ctrl+C” 组合键发出就是一个 kill -2 的信号。
    3 QUIT 退出。
    9 KILL 杀死进程,即强制结束进程。
    11 SEGV 段错误。
    15 TERM 正常结束进程,是 kill 命令的默认信号。

    需要注意的是,表中省略了各个信号名称的前缀 SIG,也就是说,SIGTERM 和 TERM 这两种写法都对,kill 命令都可以理解。

    说明

    • kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如:kill -2 123#它的效果等同于在前台运行PID为123的进程时按下Ctrl+C键。但是,普通用户只能使用不带signal参数的kill命令或最多使用-9信号。
    • kill可以带有进程ID号作为参数。当用kill向这些进程发送信号时,必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程,就会得到一个错误信息。
    • 可以向多个进程发信号或终止它们。
    • 当kill成功地发送了信号后,shell会在屏幕上显示出进程的终止信息。有时这个信息不会马上显示,只有当按下Enter键使shell的命令提示符再次出现时,才会显示出来。
    • 应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启  动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法

    kill实例

    根据PID终止指定进程

    [root@localhost ~]# kill 1616
    

    强制杀死进程

    [root@localhost ~]# kill -KILL 1616
    

    彻底杀死进程

    -9 强制杀掉进程

    [root@localhost ~]# kill -9 1616
    

    显示信号

    [root@localhost ~]# kill -l
     1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
     6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
    11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
    16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
    21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
    26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
    31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
    38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
    43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
    48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
    53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
    58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
    63) SIGRTMAX-1  64) SIGRTMAX
    

    说明:
    只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:

    HUP 1 终端断线
    INT 2 中断(同 Ctrl + C
    QUIT 3 退出(同 Ctrl + \
    TERM 15 终止
    KILL 9 强制终止
    CONT 18 继续(与STOP相反, fg/bg命令)
    STOP 19 暂停(同 Ctrl + Z

    发送SIGHUP信号,可以使用一下信号

    [root@localhost ~]# kill -HUP pid
    

    得到指定信号的数值

    [root@localhost ~]# kill -l KILL
    9
    
    [root@localhost ~]# kill -l TERM
    15
    
    [root@localhost ~]# kill -l SIGTERM
    15
    

    终止当前shell启动的进程

    可以使用kill 0命令终止当前shell启动的所有进程

    [root@localhost ~]# kill 0
    

    杀死指定用户所有进程

    方法一:过滤出user用户进程

    [root@localhost ~]# kill -9 $(ps -ef | grep user) 
    

    方式二:使用-u参数

    [root@localhost ~]# kill -u user
    

    使用killall命令根据进程名称终止进程

    Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令

    ###killall语法
    功能说明:
    语法

    killall[参数][进程名]
    

    选项及参数说明

    • -Z 只杀死拥有scontext 的进程
    • -e 要求匹配进程名称
    • -I 忽略小写
    • -g 杀死进程组而不是进程
    • -i 交互模式,杀死进程前先询问用户
    • -l 列出所有的已知信号名称
    • -q 不输出警告信息
    • -s 发送指定的信号
    • -v 报告信号是否成功发送
    • -w 等待进程死亡
    • --help 显示帮助信息
    • --version 显示版本显示

    ####常用信号

    信号编号 信号名 含义
    0 EXIT 程序退出时收到该信息。
    1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
    2 INT 表示结束进程,但并不是强制性的,常用的 “Ctrl+C” 组合键发出就是一个 kill -2 的信号。
    3 QUIT 退出。
    9 KILL 杀死进程,即强制结束进程。
    11 SEGV 段错误。
    15 TERM 正常结束进程,是 kill 命令的默认信号。

    ###killall实例
    ####杀死所有同名进程

    [root@localhost ~]# killall nginx
    
    [root@localhost ~]# killall -9 bash
    

    向进程发送指定信号

    [root@localhost ~]# killall -TERM ngixn
    
    [root@localhost ~]# killall -KILL nginx
    

    使用sleep命令暂停进程

    sleep命令的功能是让进程暂停执行一段时间
    此命令大多用于Shell程序设计中,使两条命令执行之间停顿指定的时间
    ###sleep语法
    功能说明
    语法

    选项及参数

    • --help : 显示辅助讯息
    • --version : 显示版本编号
    • number : 时间长度,后面可接 s、m、h 或 d。其中 s 为秒,m 为 分钟,h 为小时,d 为日数

    sleep实例

    休眠5分钟

    [root@localhost ~]# sleep 5m
    

    显示目前时间后延迟 1 分钟,之后再次显示时间

    [root@localhost ~]# date;sleep 1m;date
    

    使用pkill踢掉用户

    pkill 和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill 来杀掉。但pkill常用来踢掉正在登陆的用户

    语法

    功能说明:终止进程
    语法
    常用选项及参数

    • --help:显示帮助文档
    • --version:显示命令版本
    • -f:查找完成的文件名
    • -g pgrp:只匹配列出的进程组ID中的进程。进程组0被转换为pgrep或pkill自己的进程组。
    • -G gid:只匹配实际组ID列出的进程。可以使用数值或符号值。
    • -n:选择最近执行的进程
    • -o:选择最早的进程
    • -P ppid:选择父pid匹配的进程
    • -s sid:只匹配进程会话ID列出的进程。会话ID 0被转换为pgrep或pkill自己的会话ID。
    • -t term:查找符合终端号的进程
    • -u euid:只匹配其有效用户ID列出的进程。
    • -U uid:只匹配实际用户ID列出的进程。可以使用数值或符号值。
    • -v:查找不符合条件的进程
    • -x:只匹配其名称(如果-f指定了命令行)与模式完全匹配的进程。
    • -signal:要发送的信号

    常用信号

    信号编号 信号名 含义
    0 EXIT 程序退出时收到该信息。
    1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
    2 INT 表示结束进程,但并不是强制性的,常用的 “Ctrl+C” 组合键发出就是一个 kill -2 的信号。
    3 QUIT 退出。
    9 KILL 杀死进程,即强制结束进程。
    11 SEGV 段错误。
    15 TERM 正常结束进程,是 kill 命令的默认信号。

    pkill实例

    根据进程名终止进程

    pkill 和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill 来杀掉

    [root@localhost ~]# pkill nginx
    

    踢掉正在登陆的用户

    pkill经常用来踢掉正在登陆的用户

    [root@localhost ~]# pkill -kill -t pts/2
    
    展开全文
  • matlab常用函数与常用指令大全

    万次阅读 多人点赞 2016-05-06 14:11:58
    matlab常用函数与常用指令大全 matlab常用函数- - 1、特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN 非数 ...
  • AI学习之深度学习系列---提前终止

    千次阅读 2017-12-03 17:46:13
    本文简要地介绍了深度学习中常用的正则化技术-----提前终止的概念、优点、原理以及算法。如有疏漏不妥之处,还请不吝赐教。
  • Linux常用指令

    千次阅读 2020-02-05 22:16:05
    Java程序员必须掌握的常用Linux命令。 Java程序员也是半个运维了,在日常开发中经常会接触到Linux环境操作。小公司的开发人员甚至是兼了全运维的工作,下面整理了一些常用的Linux操作命令。 Linux常用指令 ls 显示...
  • 单例模式——懒汉和饿汉详解

    千次阅读 2019-05-12 23:05:02
    单例模式属于创建型模式的一种,应用于保证一个类仅有一个实例的场景... 单例模式常用写法:懒汉,饿汉,注册,序列化。 下面比较一下懒汉和饿汉: 懒汉:默认不会实例化,什么时候用什么时候new。 ...
  • 初窥Linux 之 我最常用的20条命令

    万次阅读 多人点赞 2013-09-05 00:27:11
    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。每个人玩Linux的目的都不同,所以他们常用的命令也...
  • linux常用命令(详解)

    万次阅读 多人点赞 2018-08-29 09:45:41
    一、日常使用命令/常用快捷键命令 开关机命令  1、shutdown –h now:立刻进行关机  2、shutdown –r now:现在重新启动计算机  3、reboot:现在重新启动计算机  4、su -:切换用户;passwd:修改用户密码 ...
  • 常用优化算法介绍

    万次阅读 多人点赞 2018-07-10 19:59:16
    梯度下降法是最常用的一种优化算法。其核心思想是:在当前位置寻找梯度下降最快的方向,来逐渐逼近优化的目标函数。且离目标函数越近,逼近的“步伐”也就越小。梯度下降法本质是一种迭代方法,常用于机器学习算法的...
  • Matlab 常用命令 大全

    万次阅读 多人点赞 2019-06-02 22:06:30
    一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: ...
  • 1.终止进程的工具 终止一个进程或终止一个正在运行的程序,一般是通过kill,killall,pkill,xkill等进行的。例如一个程序已经死掉了,但又 ...信号代码可以省略,我们常用的信号代码是-9,表示强制终止。 例如对
  • Linux运维常用命令汇总

    万次阅读 2017-12-02 00:16:23
    man查看命令帮助,命令的词典,更复杂的还有 info,但不常用。  help查看 Linux 内置命令的帮助,比如 cd 命令。 文件和目录操作命令 (18 个) ls全拼 list,功能是列出目录的内容及其内容属性信息。 ...
  • docker 常用命令总结

    万次阅读 多人点赞 2019-01-27 18:38:01
    但是它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行 (2)使用docker exec命令 这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下 docker exec -it db3 /bin/sh ...
  • 10分钟让你掌握Linux常用命令

    万次阅读 多人点赞 2019-09-25 15:38:04
    1、目录操作。2、文件操作。3、文件内容操作。4、压缩和解压缩。5、日志查看。6、Linux下文件的详细信息。7、常用的docker容器的命令。8、其他命令。
  • linux最常用的20个命令

    万次阅读 多人点赞 2018-05-09 09:07:25
    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决...
  • Linux20个常用命令

    万次阅读 多人点赞 2016-11-24 17:43:40
    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决...
  • 五大常用算法之二:动态规划算法

    万次阅读 2018-03-14 12:52:53
    ,需要一个递推的终止条件或边界条件。  一般,只要解决问题的 阶段 、 状态 和 状态转移决策 确定了,就可以写出 状态转移方程(包括边界条件)。 实际应用中可以按以下几个简化的步骤进行设计:  (1)分析最优...
  • C++面试常用知识点总结——基础篇

    万次阅读 多人点赞 2019-07-15 18:13:04
    4.3.1、页、段管理 4.3.2、页面置换算法 4.4、进程、线程 4.4.1、进程、线程的联系与区别 4.4.2、进程、线程的通信方式 4.4.3、死锁 4.4.4、进程的五种基本状态 4.4.5、进程同步与互斥的区别 5、C++基础知识 5.1...
  • 目录 查看进程 ps top pstree 终止进程 kill killall pkill 后台进程 jobs fg bg 定时任务 crond crontab 系统监控 vmstat dmesg free uname ... 命令语法:ps [选项] 常用选项...
  • Python语言学习:Python语言的前世今生(简介、常用IDE(开发环境)、ML常用库、发展、应用、未来前景) 目录 Python语言的简介 Python语言的关于ML的常用库 Python常用IDE(开发环境) 0、Dos内运行 1、IDLE 2...
  • MATLAB 粒子群算法,例题与常用模版

    万次阅读 多人点赞 2018-09-06 18:09:18
    MATLAB 粒子群算法 本文学习自:Particle ...Particle Swarm Optimization ,粒子群优化算法,常用来找到方程的最优解。 2. 算法概述: 每次搜寻都会根据自身经验(自身历史搜寻的最优地点)和种群...
  • 常用算法整合

    千次阅读 2016-10-21 13:57:31
    常用算法
  • 常用分布式计算任务调度算法

    万次阅读 多人点赞 2019-05-10 10:12:38
    这3 个过程重复直到满足终止条件。 蚁群算法求解任务分配问题 在用于任务分配问题求解的蚁群算法中,每一个人工蚂蚁是具有下述特性的智能体: 当它选择把任务指派给处理器时,它会在连接上留下一种称为痕迹的...
  • Linux常用的英文总结

    千次阅读 2017-08-13 12:59:37
    1. file [fail] n。文件;诉 保存文件 2。命令[k ??mɑ:nd] n。命令,指令 3。使用[ju:z,ju:s] v。使用,用途 4。程序[?pr?ugr?m] n。程序 5。line [lain] n。(数据,程序)行,线路 ...设置,n...
  • 文章目录Linux 学习笔记 022.1 Shell 简介Shell 分类图形界面与命令行交互与非交互登录与非登录关于Bash2.2 Bash常用快捷键编辑命令控制命令2.3 Ubuntu常用快键键 Linux 学习笔记 02 2.1 Shell 简介 在...
  • 使用 Reactor 进行反应编程

    千次阅读 2018-05-23 08:08:54
    使用 Reactor 进行反应编程
  • python模块 - 常用模块推荐

    万次阅读 2015-08-01 14:01:21
    http://blog.csdn.net/pipisorry/article/details/47185795python常用模块uuid/hmac/hashlib生成唯一ID在有些情况下你需要生成一个唯一的字符串。我看到很多人使用md5()函数来达到此目的,但它确实不是以此为目的。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,838
精华内容 29,535
关键字:

常用终止式