天使羊波波闪耀光芒 软件及互联网爱好者

99月/170

Linux进程后台运行方法

当用户注销(logout)或者网络断开时,登录的终端会收到HUP(hangup)信号从而关闭其所有子进程。我们可以使用3个命令来实现进程后台运行。

1、nohup
nohup的用途就是让提交的命令忽略hangup信号。

举例:

nohup ./startup.sh &

后台运行tomcat

2、setsid
setsid的作用是让运行的进程不属于接受HUP信号的终端的子进程。

举例:
比如bash登录上来ppid是10627

UID        PID  PPID  C STIME TTY          TIME CMD
root       521     1  0 May21 ?        00:00:01 /usr/sbin/sshd
root     10625   521  0 00:56 ?        00:00:00 sshd: root@pts/0 
root     10627 10625  0 00:56 pts/0    00:00:00 -bash


这时ping一个网址

ping www.google.com

在另一个窗口查看

ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10664 10627  0 00:57 pts/0    00:00:00 ping www.google.com


用setsid后PPID变为1(init进程ID),不会接受HUP信号

setsid ping www.google.com
ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10668     1  0 00:58 ?        00:00:00 ping www.google.com


3、screen
screen可以在后台创建会话,从而让进程在后台运行。

screen常用命令:
screen:开一个窗口
screen -r:恢复进入窗口
screen -r -D:强行进入窗口
在screen窗口内:Ctrl + A D 窗口后台运行
screen -ls:查看全部session列表
screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。
screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接

49月/170

weblogic目录结构

1、admin server
admin server就是console控制台,起了admin server就能打开控制台

2、manage server
manage server是被管理服务器,可在控制台上添加(服务器-新建)

3、domain
admin server、manage server要在domain下面

domain - admin server
                  ├── manage server1
                  └── manage server2

4、domain目录结构
weblogic安装目录/bea/Oracle/Middleware/user_projects下的:

domain - ips_domain
                ├── bin (domain的启动脚本)
                ├── config (配置文件)
                ├── security
                ├── servers (domain下的服务器)
                ├── autodeploy
                ├── console-ext
                ├── init-info
                ├── lib (the domain library directory and is usually located at $DOMAIN_DIR/lib)
                ├── pending
                └── tmp

servers下层目录:

domain - ips_domain - servers - pbcs
                                 ├── cache
                                 ├── data
                                 ├── logs (服务器的连接日志)
                                 ├── security (boot.properties)
                                 ├── stage (应用缓存*)
                                 └── tmp

5、weblogic安装目录结构

/bea/Oracle/Middleware
                 ├── coherence_3.5
                 ├── domain-registry.xml (记录domain的条目)
                 ├── logs
                 ├── modules (weblogic运行时需要的jar文件)
                 ├── registry.dat
                 ├── registry.xml (描述产品信息)
                 ├── user_projects (域存放的位置)
                 ├── utils (用户可以存放的第三方工具包)
                 └── wlserver_10.3 (weblogic的主目录)

6、weblogic清缓存
删除domain/servers/(server名)/stage/应用名称里的所有东西

7、stage、nostage发布方式
stage模式:weblogic会将web应用复制到servers下的stage目录,然后运行stage目录里的项目缓存
nostage模式:直接运行web应用安装目录下的项目

8、weblogic状态
就绪 -> starting(启动) -> start running(启动运行中) -> runing(完成-活动)
到就绪状态,容器就ok了,后面是服务器应用的问题

177月/170

oracle 创建索引 create index online

普通创建索引的命令create index会先锁表,然后再创建索引,如果表中数据量很大,会造成阻塞DML语句。

加了online后,可以以非独占的方式创建和删除索引。

但是加online字段有一些限制:
ONLINE
Specify ONLINE to indicate that DML operations on the table will be allowed during creation of the index.

Restrictions on Online Index Building
Parallel DML is not supported during online index building. If you specify ONLINE and then issue parallel DML statements, Oracle returns an error.
You cannot specify ONLINE for a bitmap index or a cluster index.
You cannot specify ONLINE for a conventional index on a UROWID column.
For a unique index on an index-organized table, the number of index key columns plus the number of primary key columns in the index-organized table cannot exceed 32.

参考资料:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_5012.htm

285月/170

朋友圈

微信状态:
1、朋友仅展示最近半年的朋友圈
设置 - 隐私内选择的

2、朋友圈是一条线和一点
被删除了,或被屏蔽了朋友圈(发消息没有提示被对方拒收,也没有提示发送好友验证)

3、好友-详细资料没有相册这一栏
对方关闭了朋友圈功能

252月/170

[转]戒指国际佩戴含义说法

按西方的传统习惯来说,左手显示的是上帝赐给你的运气,因此,在西方国家,戒指通常戴在左手上。不佩戴戒指表示单身。西方早期医学认为,左手无名指在双手十指中与心脏的距离最近,所以将代表婚姻的戒指戴在左手无名指上,珠宝进而体现出爱情的神圣地位,并流传至今。
  简单记忆法,其实很好记的,四个字,清热解毒。
  食指、中指、无名指、小手指依次为青(年)、热(恋)、结(婚)、独(身)。
  关于左手
  1、食指--未婚、想结婚 ; 
  2、中指--已经在恋爱中 ; 
  3、无名指--已经订婚或结婚;
  4、小手指--单身贵族(少数地区亦代表同性恋者)。
  关于右手  
  只有无名指戴戒指有特殊含义,是表示具有修女的心性。
  关于大拇指
  西方的审美观念上,戒指戴在大拇指上是十分奇怪的,不仅不美观,且影响手部运动,所以西方人很少将戒指佩戴在大拇指上。

食指 :清,请追求我
中指 :热,热恋中
无名指:解,结婚了
小指 :毒,独身主义
从上往下,清热解毒

252月/170

C语言北京时间转为格林威治时间

北京时间比格林威治早8个小时,思路是先将北京时间转换为距1970年1月1日0点的秒数,然后在转换成服务器本地时区的格林威治时间。

例子程序 gmttime.c:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int main(void)
{
printf("--------------\n");
char ori_time[14+1];
char tmp_year[4+1];
char tmp_month[2+1];
char tmp_day[2+1];
char tmp_hour[2+1];
char tmp_min[2+1];
char tmp_sec[2+1];
char sCurrentTime[15];
struct tm tmCurrentTime, *gmCurrentTime;
time_t gmt;

memset(ori_time, 0x00, sizeof(ori_time));
memset(tmp_year, 0x00, sizeof(tmp_year));
memset(tmp_month, 0x00, sizeof(tmp_month));
memset(tmp_day, 0x00, sizeof(tmp_day));
memset(tmp_hour, 0x00, sizeof(tmp_hour));
memset(tmp_min, 0x00, sizeof(tmp_min));
memset(tmp_sec, 0x00, sizeof(tmp_sec));
memset(sCurrentTime, 0x00, sizeof(sCurrentTime));

memcpy(ori_time, "20170225132901", 14);
printf("ori_time: %s\n", ori_time);

//取年
memcpy(tmp_year, ori_time, 4);
printf("year: %s\n", tmp_year);
tmCurrentTime.tm_year = atoi(tmp_year);
tmCurrentTime.tm_year = tmCurrentTime.tm_year - 1900;
//取月
memcpy(tmp_month, ori_time+4, 2);
printf("month: %s\n", tmp_month);
tmCurrentTime.tm_mon = atoi(tmp_month);
tmCurrentTime.tm_mon = tmCurrentTime.tm_mon - 1;
//取日
memcpy(tmp_day, ori_time+6, 2);
printf("day: %s\n", tmp_day);
tmCurrentTime.tm_mday = atoi(tmp_day);
//取时
memcpy(tmp_hour, ori_time+8, 2);
printf("hour: %s\n", tmp_hour);
tmCurrentTime.tm_hour = atoi(tmp_hour);
//取分
memcpy(tmp_min, ori_time+10, 2);
printf("min: %s\n", tmp_min);
tmCurrentTime.tm_min = atoi(tmp_min);
//取秒
memcpy(tmp_sec, ori_time+12, 2);
printf("sec: %s\n", tmp_sec);
tmCurrentTime.tm_sec = atoi(tmp_sec);
//转换为秒
gmt = mktime(&tmCurrentTime); //time_t 转换为 tm
//转换为格林威治时间
gmCurrentTime = gmtime(&gmt); //tm 转换为 time_t
sprintf(sCurrentTime, "%4d%02d%02d%02d%02d%02d",
gmCurrentTime->tm_year + 1900, gmCurrentTime->tm_mon + 1,
gmCurrentTime->tm_mday, gmCurrentTime->tm_hour,
gmCurrentTime->tm_min, gmCurrentTime->tm_sec);
printf("gmt_time: %s\n", sCurrentTime);

printf("--------------\n");
return 0;
}

其中mktime将时间转换为秒数,gmtime将秒数转换为服务器本地时区对应的格林威治时间。

231月/171

win10简单设置

1、桌面显示我的电脑等图标
右键 - 个性化 - 主题 - 桌面图标设置

2、显示文件扩展名
驱动器工具 - 查看 - 文件扩展名

3、删除文件时提示是否删除
回收站 - 右键 - 属性 - 显示删除确认对话框

4、界面背景模糊(惨白惨白的)
1)右键 - 显示设置 - 更改文本、应用和其他项目的大小:推荐125%
2)右键 - 英特尔显卡设置 - 颜色设置
亮度:-20
对比度:50
色调:0
饱和度:0
色域:自然色彩
3)桌面右键-显示设置-当前对话框-高级设置-分辨率下方-颜色校准
校准显示器颜色,调整伽玛值
PS:基本上调了对比度后,字能看清楚了

5、关闭快速启动
设置 - 电源和睡眠 - 其他电源设置 - 选择电源按钮的功能 - 去掉启用快速启动

6、磁盘清理
右键C盘 - 属性 - 磁盘清理

7、进入安全模式
设置 - 更新和安全 - 恢复 - 高级启动点立即重启
待重启后选择:
疑难解答 - 高级选项 - 启动设置 - 按4启用安全模式

分类: 生活 1个评论
11月/170

上海三打一(斗地主)规则

1、叫地主
谁先抽到标记牌,谁先叫地主,玩家轮流叫档,可以选择叫“1档”、“2档”、“3档”或者“不叫”档。
所叫的档数必须比上一家高,叫档最高的玩家成为地主。

2、地主叫分
一档:叫1分,赢牌共得3分
二档:叫2分,赢牌共得6分
三档:叫3分,赢牌共得9分

3、荒番局
如果没有任何一个玩家叫档,则开始下一局,下一局为荒番局。

4、头撩(头撂)
第一个叫分的人直接做地主,记4分,赢牌共得12分。

5、摊打
只有出现“头撂”情况,那么本局地主得到底牌后,地主可以选择是否“摊打”。(如果选择“摊打”,其他三家可以看到地主手中的牌)。

6、框牌
不成对的牌。

7、牌型说明
1)天王炸弹:四张王牌。
2)炸弹:4—8个牌点一样的牌。
3)单牌:单个牌。
4)对牌:牌点相同的2张牌,两个小王或两个大王也算对子牌型。
5)三张:牌点相同的3张牌(不包括三张王,三张王只可以当一对和单张)。
6)三带二:点数相同的三张牌 + 一对牌,(三牌的牌点必须和所带的对牌牌点不同)
7)单顺:5张或5张以上牌点连续的牌。其中A即可以连在K后,又可以连在2前,即可以出现14张牌的顺子:A、2、3、4~K、A(注:这种14顺是最大的顺子。但不可出JQKA2。
8)双顺(姊妹对、姐妹对):3对或3对以上牌点连续的对牌
9)三顺:2个或2个以上牌点连续的三牌
10)飞机带翅膀:多个三带二的牌,要求所有的三条牌为牌点连续的牌,同时对牌也必须为牌点连续的牌

2412月/160

篮球场位置和规则

1、NBA记分牌下方有一行7格横条,有黄色有红色的
黄色表示剩余暂停数,一格代表一次

2、有时分数下面会有“BONUS”字样
bonus是指该球队已经达到一定的犯规状态,如果再犯规,无论是不是投篮犯规都要执行罚球的。

bonus触发条件有:
1)单节第四次犯规
2)每节最后2分钟的第一次犯规
3)加时赛第三次犯规

3、常见犯规
24秒钟规则:进攻球队在场上控球时必须在24秒钟内投篮出手。
8秒钟规则:球队从后场控制球开始,必须在8秒钟内使球进入前场(对方的半场)。
5秒钟规则:持球后,球员必须在5秒钟之内掷界外球出手,FIBA规则规定罚球也必须在5秒钟内出手。
3秒钟规则:分为进攻3秒和防守3秒。进攻3秒:进攻方球员不得滞留于3秒区3秒以上;防守3秒:当某防守方球员对应的进攻方球员不在3秒区或者3秒区边缘、且彻底摆脱防守球员时,防守方球员不得滞留禁区3秒以上(FIBA无防守3秒)。
球回后场:球队如已将球从后场移至前场,该球队球员便不能再将球移过中线,运回后场。
走步:运球过程当中出现三步没运,没传,没投,也就是球没离手的情况。
跃起:在跳起的时候没有将球投出或传出,脚步落地。
打手:持球方在停球,运球或上篮,投篮的时候,对位方的手接触到持球方的手和小臂部位。
带球撞人:持球方在攻入对方禁区,或运球途中,防守方脚步无移动,而持球方用身体撞击防守方,属于带球撞人。
防守犯规:主要是持球方在运球或上篮中,防守方出现脚步移动并与持球方发生身体碰撞,或拉,拽等接触身体方式扰乱持球方运球或上篮。
压跳:进攻方起身投篮或上篮的同时,防守方如果出现身体下压或碰撞进攻方,属于压跳。

4、球员位置
篮球分为12345号位置。

1号位:控球后卫(Point Guard)PG
2号位:得分后卫(Shooting Guard)SG
3号位:小前锋(Small Forward)SF
4号位:大前锋(Power Forward)PF
5号位:中锋(Center)C

PS:现在NBA球队有的对位置已经比较模糊了,像勒布朗詹姆斯除了中锋之外其他位置都可以打。有的球队中锋还可以拉到外线投三分,而且很准。

5、技术犯规
技术犯规是指所有不包括与对方队员接触的队员犯规。队员不得漠视裁判员的劝告或运用不正当的行为。
1)判给对方队员两次罚球及掷一次界外球(所谓的两罚一掷)
2)技术犯规不算在普通犯规内,但技术犯规满2次即被罚下场

2112月/160

Oracle sum字段报错 ORA-01722: invalid number

有一个sql要统计多个字段的sum值:

select card_accp_id c1,date_settlmt_8, sum(amt_trans), sum(mcht_fee), sum(host_trans_fee1)
from bth_new_gc_txn_succ where date_settlmt_8 > '20160101' group by card_accp_id,date_settlmt_8

执行报错:

14:14:36 [SELECT - 0 row(s), 0.000 secs] [Error Code: 1722, SQL State: 42000] ORA-01722: invalid number
... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]

解决:
原因是sum字段有空格,在host_trans_fee1上加个trim()

结果:

select card_accp_id c1,date_settlmt_8, sum(amt_trans), sum(mcht_fee), sum(trim(host_trans_fee1))
from bth_new_gc_txn_succ where date_settlmt_8 > '20160101' group by card_accp_id,date_settlmt_8

sum字段如果遇到有记录为非number会报错

第 1 页,共 45 页12345...102030...末页 »