- vue基础七(Less)
今天晚上一定要早睡
vuevue.jscsscss3
Less安装注释导入变量(Variables)混合(Mixins)嵌套(Nesting)运算转义(Escaping)函数(Functions)命名空间和访问符映射作用域sass,less和stylussass变量的表示变量的赋值缩进的问题if条件判断的问题都支持嵌套Less(LeanerStyleSheets的缩写)是一门向后兼容的CSS扩展语言。安装将less安装为开发依赖npmiless--s
- Not Escaping ( Codeforces Round 766 (Div. 2) )
BoBoo文睡不醒
acm训练集合dp数据结构模拟最短路
NotEscaping(CodeforcesRound766(Div.2))MajorRamisbeingchasedbyhisarchenemyRaghav.Rammustreachthetopofthebuildingtoescapeviahelicopter.Thebuilding,however,isonfire.Rammustchoosetheoptimalpathtoreachthet
- autoescape-django模板中HTML转义
HeJD
摘一段文档:Controlsthecurrentauto-escapingbehavior.Thistagtakeseitheronoroffasanargumentandthatdetermineswhetherauto-escapingisineffectinsidetheblock.Theblockisclosedwithanendautoescapeendingtag.Whenauto-e
- CSS 预处理器语言Less
繁星学编程
CSScssless前端
文章目录概览Less是什么?Less安装通过[npm](https://www.npmjs.org/)安装Less转换为CSS变量(Variables)注释(Comments)混合(Mixins)嵌套(Nesting)1.选择器嵌套2.父选择器`&`@规则嵌套和冒泡运算(Operations)转义(Escaping)函数(Functions)命名空间和访问符映射(Maps)作用域(Scope)导入
- Chrome 沙箱逃逸 -- Plaid CTF 2020 mojo
XiaozaYa
V8chromemojo沙箱逃逸
文章目录前置知识参考文章环境搭建题目环境调试环境题目分析附件分析漏洞分析OOBUAF漏洞利用总结前置知识Mojo&Services简介chromiummojo快速入门MojodocsIntrotoMojo&Services译文:利用MojoIPC的UAF漏洞实现Chrome浏览器沙箱逃逸原文:CleanlyEscapingtheChromeSandbox参考文章本文主要参考PlaidCTF2020
- Swift 循环引用
Hanyang Li
SwiftSinaiOSSwift
1.异步操作//闭包应用场景:异步操作完成之后,通过闭包的参数传递网络请求结果funcloadData(finished:@escaping(_html:String)->()){//1.记录完成回调finishedCallBack=finished;DispatchQueue.global().async{print("模拟异步加载\(Thread.current)")Thread.sleep(
- swift中private,public,internal,fileprivate,open的修饰范围
CrystalZhu
一.概述在Swift3中除去原有的3个访问控制关键字private,public,internal,又重新添加了2个关键字fileprivate和open;它们是对private和public的进一步细分;二.private和fileprivate的修饰范围原来的private对于同一个文件的各个方法来说都可以访问到,这往往不是开发者想要的结果;于是原来的private变成了fileprivate
- Swift 闭包
小旗_96e8
第一步定义闭包typealiasswiftBlock=(_str:String)->Void第二步声明varcallBack:swiftBlock?//第二步声明第三步实现闭包funccallBackBlock(_block:@escapingswiftBlock){//第三步实现闭包callBack=block}第四步触发闭包ifcallBack!=nil{//第四步触发闭包callBack!(
- 解决git status中文乱码
招财酷炫猫
gitgit
Commandsthatoutputpaths(e.g.ls-files,diff),willquote“unusual”charactersinthepathnamebyenclosingthepathnameindouble-quotesandescapingthosecharacterswithbackslashesinthesamewayCescapescontrolcharacters(
- @escaping swift逃逸闭包和非逃逸闭包
瑶哥呗
使用@escaping关键字的闭包是逃逸闭包闭包默认是非逃逸闭包逃逸闭包延长了闭包的生命周期非逃逸闭包生命周期跟随函数的生命周期
- swift3升级到swift4 填坑
墨守青城
@objcswift3使用#selector指定的方法,只有当方法权限为private时需要加@objc修饰符,现在Swift4.0全都要加@objc修饰符自定义的protocol协议中,有optional修饰的非必须实现的方法,需要用@objc修饰oc调用swift类中方法和属性时,swift类中的属性和方法也要加上@objc修饰NSAttributedString相关的全局变量无法再swift
- Swift - 使用Alamofire通过HTTPS进行网络请求,及证书的使用
yunxiu
转自:http://www.hangge.com/blog/cache/detail_1052.html(本文代码已升级至Swift3)我原来写过一篇文章介绍如何使用证书通过SSL/TLS方式进行网络请求(Swift-使用URLSession通过HTTPS进行网络请求,及证书的使用),当时用的是URLSession。本文介绍如何使用Alamofire来实现HTTPS网络请求,由于Alamofire
- .key文件Linux如何运行,Linux下解析配置文件和GKeyFile读取配置文件
vivalavidawx
.key文件Linux如何运行
#thisisjustanexample#therecanbecommentsbeforethefirstgroup[FirstGroup]Name=KeyFileExampletthisvalueshowsnescaping#localizedstringsarestoredinmultiplekey-valuepairsWelcome=HelloWelcome[de]=HalloWelcome
- 学习swift3 中遇到的问题
奶油蛋挞_2a8f
将int?转成string类型时报错Castfrom'Int?'tounrelatedtype'NSNumber'alwaysfails只能强制转换成Optional类型后来经过研究发现只能先将其转成nsnumber类型才能转换成String具体原因不知空闲下来会仔细研究研究原因letString=("\(yourStringsas!NSNumber)")
- [swift 进阶]读书笔记-第六章:函数 C6P6_7 自动闭包_总
liaoworkinn
第六章:函数(function)6.6自动闭包。本节主要知识点:对@autoclosure和@escaping标注的使用场景及用法进行了介绍。知识点1:短路求值:像&&和||操作符中,只要左边不符合条件或者符合条件就直接忽略(短路掉)右边的操作数。///这里我们依赖了短路求值,第一个操作数不符合要求时候直接不走对应的逻辑代码letevens=[2,4,6]if!evens.isEmpty&&eve
- 逃逸闭包(@escaping)、 非逃逸闭包(@noescape)
_GXT
逃逸闭包(@escaping)当前方法大括号执行结束之后执行。常用于网络请求类中(异步回调)调用结果非逃逸闭包(@noescape)方法顺序执行,闭包走完方法才会执行结束调用结果
- WEB渗透—反序列化(八)
haosha。
PHP反序列化web安全php
Web渗透—反序列化课程学习分享(课程非本人制作,仅提供学习分享)靶场下载地址:GitHub-mcc0624/php_ser_Class:php反序列化靶场课程,基于课程制作的靶场课程地址:PHP反序列化漏洞学习_哔哩哔_bilibili十五、字符串逃逸例题-增多1.实例代码目标:判断是否pass=='escaping'user=$user;}}$param=$_GET['param'];//$_
- 36.音轨合成
小笨憨
直接上代码了classfunccoalescing(backFile:String,file:String,fromEarphone:Bool,complete:@escaping(_url:String)->Void)->Void{//第一步,必须创建AVMutableComposition,类似于很多api这个后缀也为composition,意思可以理解为合成物,但不是最终生成d文件letco
- swift不同版本之间的差异
小小小蚍蜉
>>>Swift3中,因为extension中无法获取到secondsSinceReferenceDate属性,编译就报错了,因为它是private的。于是在Swift3中,必须把private改为fileprivate。在Swift4中,private的属性的作用域扩大到了extension中,并且被限定在了struct和extension内部,这样就不需要再改成fileprivate了。>>>
- swift: 记录截取本地视频最后一帧
小曼blog
思路:把视频分片,然后截取每一片截取图片,回调的是每一片中的一张图片。privatefuncgetImage(url:URL,callback:@escaping(UIImage?)->Void){//1.获取视频时长leturlAsset=AVURLAsset(url:url)letseconds=urlAsset.duration.secondsprint("second:\(seconds)
- swift4.1 GCD的学习
凨弥
简介GrandCentralDispatch(GCD)是Apple开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。众所周知,GCD,NSOperationQueue,NSThread,pthread是iOS中多线程的几种处理方式,Swift3之前GCD仍是面向过程的写法,所以需要封装一层再使用。Swift3苹果打成Dispatch这个module.
- vue记错误日志:Syntax Error: Error: Unexpected ‘/‘. Escaping special characters with \ may help.
Tan.]der
vuevue.js前端javascript
在运行Vue项目的时候出现错误:ERRORFailedtocompilewith1error9:55:33.......SyntaxError:Error:Unexpected'/'.Escapingspecialcharacterswith\mayhelp.并且dish文件夹为空原因:css代码格式有问题``或者``写法可以用//去注释正常css只能/**/注释,style标签里面lang="s
- Swift的autoclosure与escaping标签
Yasic
@autoclosure在《函数式Swift》第四章提到了Swift的autoclosure标签能够避免创建显式闭包的需求。在Swift中有一个特殊类型叫做函数类型,它由一个参数类型和返回值类型组成,用于表示一个函数、方法或闭包的类型,形式如下parametertype->returntypeautoclosure标签能够将特定表达式上的表达式当做隐式闭包来捕获,也就是将一个表达式当做函数类型来处
- Swift3迁移到Swift4.2
DavidWongDev
环境:MacOSMojave(10.14),Xcode10首先是第三库的修改。OC的库不用升级,要改的就是Swift的第三方库。如果第三方库已支持Swift4.2那就修改Podfile,然后podinstall//安装库podupdate//更新库关于pod制定版本,制定分支相关的文章很多,这里就不赘述了。重点说一下还没支持Swift4.2的第三库怎么处理:Xcode支持多版本的Swift库,也就
- Swift : 逃逸闭包 和 @escaping 属性
不会飞的船
回调callback的四种方式swiftios开发语言
非逃逸闭包:调用者完成前闭包就被执行完成了。逃逸闭包:调用函数完成了,但是闭包还没有被调用或者没有被完成。例:所有网络请求的函数,在完成调用请求后,直到响应返回,闭包才会被调用,所以这个类型的网络请求函数内等待响应的闭包就是逃逸闭包。这个类型的闭包,需要加入一个@escaping标记才可以编译通过。如下代码,展示了一个非逃逸闭包,和一个逃逸闭包。后者已经被标记了@escapings:函数Dispa
- swift escaping逃逸闭包用法
smking
iOSswift
用户funcinsert(_region:@escapingRegion)->Region{return{pointin!region(point)}}当其中需要执行后才返回,异步执行的,都需要添加escaping.如方法1.funcdoWork(block:()->()){block()}调用时:doWork{print(“hello,world”)}这种形式的闭包默认了一种假设,就是参数中的b
- Swift @escaping @ noescaping 逃逸闭包与非逃逸闭包
出来嗨
移动开发闭包@escaping逃逸闭包Swift
闭包只有在函数中做参数时才会区分逃逸闭包和非逃逸闭包。Swift3.0之后,传递闭包到函数中的时候,系统会默认为非逃逸闭包类型(NonescapingClosures)@noescaping,逃逸闭包在闭包前要添加@escaping关键字。从生命周期看两者区别:非逃逸闭包的生命周期与函数相同:1,把闭包作为参数传给函数;2,函数中调用闭包;3,退出函数。结束逃逸闭包的生命周期:1,闭包作为参数传递
- swift逃逸闭包和自动闭包
安果移不动
#Swift
当闭包作为一个实际参数传递给一个函数的时候,并且它会在函数返回之后调用我们就说这个闭包逃逸了,当你声明一个接受闭包作为形式参数的函数时,你可以在形式参数前写@escaping来明确闭包是允许逃逸的。闭包可以逃逸的一种方法是被存储在定义与函数外的变量里,比如说,很多函数接受闭包实际参数来作为启动异步任务的回调。函数在启动任务后返回,但是闭包要直到任务完成--闭包需要逃逸,以便于稍后调用//:AUIK
- iOS开发-Swift进阶之闭包,逃逸闭包 & 非逃逸闭包!
iOS大鑫
iOS面试swiftiOS开发objective-ciosswiftflutterxcode
swift进阶总汇本文主要分析逃逸闭包、非逃逸闭包、自动闭包逃逸闭包&非逃逸闭包逃逸闭包定义当闭包作为一个实际参数传递给一个函数时,并且是在函数返回之后调用,我们就说这个闭包逃逸了。当声明一个接受闭包作为形式参数的函数时,可以在形式参数前写@escaping来明确闭包是允许逃逸的如果用@escaping修饰闭包后,我们必须显示的在闭包中使用selfswift3.0之后,系统默认闭包参数就是被@no
- Swift中的逃逸闭包(@escaping )与非逃逸闭包(@noescaping)
稻草人G
iOS-开发iOSSwift闭包逃逸闭包
逃逸闭包概念:一个接受闭包作为参数的函数,该闭包可能在函数返回后才被调用,也就是说这个闭包逃离了函数的作用域,这种闭包称为逃逸闭包。当你声明一个接受闭包作为形式参数的函数时,你可以在形式参数前写@escaping来明确闭包是允许逃逸。例如:当网络请求结束后调用的闭包。发起请求后过了一段时间后这个闭包才执行,并不一定是在函数作用域内执行的。classViewController:UIViewCont
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_