当前位置:  编程技术>综合
本页文章导读:
    ▪Crontab 介绍      一.  Crontab 介绍          crontab命令的功能是在一定的时间间隔调度一些命令的执行。   1.1 /etc/crontab 文件        在/etc目录下有一个crontab.........
    ▪C++默认参数注意事项      默认参数在函数参数较多时是非常有用的.可以只传必须的值,其它取默认值.使用方法如下:   1.默认参数是严格按照从左至右的顺序使用 所以只有如下使用才是合法的 (1)参数全.........
    ▪WebService系列博客{三}[通过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice]      注意: WebService的注解@WebService在发布的时候是不发布静态、私有的方法为外部调用的 1、得到根据源代码的方式生成调用代码 除了通过url的方式可以生成服务器端的调用代码。我们也可以通.........

[1]Crontab 介绍
    来源: 互联网  发布时间: 2013-11-10

一.  Crontab 介绍

 

       crontab命令的功能是在一定的时间间隔调度一些命令的执行。

 

1.1 /etc/crontab 文件

       在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。

      

如:

[root@dave ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

 

1.2 /etc/cron.deny 和 /etc/cron.allow 文件

 

/etc/cron.deny 表示不能使用crontab 命令的用户

/etc/cron.allow 表示能使用crontab的用户。

 

如果两个文件同时存在,那么/etc/cron.allow 优先。

如果两个文件都不存在,那么只有超级用户可以安排作业。

 

 

每个用户都会生成一个自己的crontab 文件。这些文件在/var/spool/cron目录下:

 

如:

[root@dave ~]# cd /var/spool/cron

[root@dave cron]# ls

oracle  root

 

我们直接查看这个文件,里面的内容和对应用户显示的crontab -l 一致。

[root@dave cron]# cat oracle

00 6 * * * /u02/scripts/del_st_archive.sh >/u02/scripts/del_st_arch.log 2>&1

[root@dave cron]# cat root

0 12 * * * /root/bin/sync-clock.sh

[root@dave cron]#

 

 

二.  Crontab 使用说明

 

2.1  Crontab语法

usage:  crontab [-u user] file

        crontab [-u user] [ -e | -l | -r ]

                (default operation is replace, per 1003.2)

        -e      (edit user's crontab)

        -l      (list user's crontab)

        -r      (delete user's crontab)

        -i      (prompt before deleting user's crontab)

        -s      (selinux context)

 

       其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。

 

 

帮助:

[root@dave ~]# man crontab

CRONTAB(1)                                                          CRONTAB(1)

 

NAME

       crontab - maintain crontab files for individual users (ISC Cron V4.1)

 

SYNOPSIS

       crontab [-u user] file

       crontab [-u user] [-l | -r | -e] [-i] [-s]

 

DESCRIPTION

       Crontab  is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in ISC Cron.  Each user can have their own crontab,  and  though these  are  files in /var/spool/ , they are not intended to be edited directly. For SELinux in mls mode can be even more crontabs  -  for  each  range.  For  more  see selinux(8).

       If  the  cron.allow  file  exists,  then  you must be listed therein in order to be allowed to use this command.  If  the  cron.allow  file  does  not  exist  but  the cron.deny  file  does  exist,  then you must not be listed in the cron.deny file in order to use this command.  If neither of these files exists, only the  super  user will be allowed to use this command.

 

OPTIONS

       -u     It  specifies  the name of the user whose crontab is to be tweaked.  If this  option is not given, crontab examines "your" crontab, i.e., the  crontab  of the  person  executing the command.  Note that su(8) can confuse crontab and               that if you are running inside of su(8) you should always use the -u  option               for  safety¡¯s sake.  The first form of this command is used to install a new               crontab from some named file or standard input if the pseudo-filename "-" is               given.

       -l     The current crontab will be displayed on standard output.

       -r     The current crontab will be be removed.

       -e     This  option  is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables.  After you exit from the edi-tor, the modified crontab will be installed automatically.

       -i     This  option  modifies the -r option to prompt the user for a ¡¯y/Y¡¯ response before actually removing the crontab.

       -s     It will append the current SELinux security context string as  an  MLS_LEVEL setting  to  the  crontab file before editing / replacement occurs - see the documentation of MLS_LEVEL in crontab(5).

 

SEE ALSO

       crontab(5), cron(8)

FILES

       /etc/cron.allow

       /etc/cron.deny

STANDARDS

       The crontab command conforms to IEEE Std1003.2-1992 (¡®¡®POSIX¡¯¡¯).  This new  command syntax  differs  from  previous versions of Vixie Cron, as well as from the classic

       SVR3 syntax.

DIAGNOSTICS

       A fairly informative usage message appears if you run it with a bad command line.

AUTHOR

       Paul Vixie <vixie@isc.org>

4th Berkeley Distribution       16 Januar 2007                      CRONTAB(1)

 

 

 

 

 

2.2  Crontab 格式说明

       我们可以用crontab -e 添加要执行的命令。 命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。

      

   添加的命令必须以如下格式:

   * * * * * /command path

      

       前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。 各个字段之间用spaces和tabs分割。

 

前5个字段分别表示:

       分钟:0-59

       小时:1-23

       日期:1-31

       月份:1-12

       星期:0-6(0表示周日)

 


    
[2]C++默认参数注意事项
    来源: 互联网  发布时间: 2013-11-10

默认参数在函数参数较多时是非常有用的.可以只传必须的值,其它取默认值.使用方法如下:

 

1.默认参数是严格按照从左至右的顺序使用

所以只有如下使用才是合法的

(1)参数全部为默认值. void Fun( int a = 1, int b = 2, int c = 3)

(2)void Fun(int a , int b = 2, int c = 3)

(3)void Fun(int a , int b = 2, int c) //这样是错误的,如果从某处开始使用默认值,则右边所有其他参数也必须有默认值

调用函数的时候传进去的实参个数必须大于或等于无默认值的形参个数.然后匹配参数的时候是从左至右去匹配.不过这样会存在一些问题.

例如

void Fun( int one , int two = 2, int three = 3);

当调用时如果用户想只传两个参数提供one和three的值是做不到的,因为必须从左至右严格匹配,所有要想传值给three,就必须给它前面的所有参数也传值.

自然也有人想到了这问题,于是建议C++之父stroustrup增加一个特性,可以显式指定给第几个参数赋值.比如调用上面函数时可以这样Fun(one = 1 ,three = 3),甚至还可以不按顺序

Fun(three = 3, one = 1)这样用户可以随意指定要赋值给哪个参数,当然没有默认值的参数肯定是要保证都有赋值的. 在PL/SQL中的函数调用就完全体现了这种思想.

不过stroustrup觉得这样做带来的好处不是太大,而且有些弊端,于是就没有在C++中添加这特性.比较容易想到的弊端就是由于函数声明和定义中的形参名字是可以不一样的.这样就一来靠形参名字来显式指定传的实参就比较麻烦了.例如声明是void Fun(int one , int two);但定义变成了void Fun(int two, int one) { }

 

2.参数默认值只能在声明或定义中一处指定.不能同时指定.

例如有类Arwen,然后在头文件中声明函数FunDefault.然后cpp文件中定义.可以用如下两种方式

方法(1)

int FunDefault( int one , int two = 123);    //声明

int Arwen::FunDefault(int one , int two)   //定义

{

  //....

}

方法(2)

int FunDefault( int one , int two );

int Arwen::FunDefault(int one , int two = 123)

{

//....

}

但如下是错误的

方法(3)

int FunDefault( int one , int two = 123 );

int Arwen::FunDefault(int one , int two = 123)

{

//....

}

实际上按道理讲方法(3)是最直观,最易理解的.但可能考虑到一来嘛两个地方都重复赋值下有点麻烦,二来编译器还要去做判断保证两个默认值要一致,所以就干脆不让这样做了.

 

3.默认参数与函数重载的二义性问题.

假如有函数

void Fun(int one, int two = 2);

void Fun(int one);

当这样调用时Fun(1);上面两个函数都是完全匹配的.所以就有二义性了,编译的时候会报错的.

不过有点奇怪的是只要你是同时有函数声明和定义时才会报错.如果声明和定义是在一起,都在头文件中,也就是内联函数(inline)时,上面这样使用不会报错.Fun(1)调用的是void Fun(int one ,int two = 2); 我是在VS中试的,不知道其他编译器是否做同样的处理

 

当然了最好我们在代码中避免出现这样的情况.实际上很多时候默认参数就是用来替代函数重载(就像上面的两函数,当一个函数只是比另外一个函数的参数个数多,其他参数相同).所以设计良好的代码应该是没有必要同时存在这样的默认参数与重载函数的

作者:weiwenhp 发表于2013-1-8 15:22:00 原文链接
阅读:5 评论:0 查看评论

    
[3]WebService系列博客{三}[通过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice]
    来源: 互联网  发布时间: 2013-11-10

注意:

WebService的注解@WebService在发布的时候是不发布静态、私有的方法为外部调用的


1、得到根据源代码的方式生成调用代码

除了通过url的方式可以生成服务器端的调用代码。我们也可以通过解析wsdl文件来生成调用代码。

Ø        制作wsdl文件的方法

浏览器访问wsdl文件。比如http://192.168.1.103:8888/hello?wsdl页面右键---查看源代码----文件另存为即可。

然后还是用wsimport命令。命令如下:(前提是进入wsdl文件所在目录)

wsimport -s .file:\\\d:/wstest/hello.wsdl

然后拷贝生成的代码编写客户端程序调用即可

2、利用MyEclipse的WebService视图调用webservice

Ø               除了客户端生成代码编写程序调用之外。还可以用MyEclipse提供的WebServi

Ce视图来更加清晰的调用和分析

1、             点击工具栏上的lanchweb service

 2、 操作弹出框

3、直接操作方法

     点击go之后会出现该wsdl文件所表示的内容。包括方法、参数等。我们可以直接操作就可以达到调用的效果

 

 


Webservice就是一个跨平台的应用。不管是什么语言都可以互相调用



作者:zhang6622056 发表于2013-1-8 15:20:20 原文链接
阅读:19 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
IP地址数字互转 iis7站长之家
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3