Tools
Option
Source Code Engineering
Code page for source
選 utf-8
Read MoreWe provide two separate .tar.gz archives for 32 and 64 bit systems that allow you to deploy SFS2X under any Linux distributions.
In order to install the server, make sure to choose the correct installer (32bit or 64bit), then open a terminal window and follow these steps:
Example:
$ cd /home/fozzie $ tar xf SFS2X_linux_2_0_0RC1.tar.gz
You can run SFS2X as a service using the sfs2x-service script. It provides the following switches:
In order to start SmartFoxServer, move to the installation folder and start the server with: ./sfs2x-service start
For example:
$ cd /home/fozzie/SFS2X-RC1/SFS2X/ $ ./sfs2x-service start
If any startup problem should occur, you can check the log files under {sfs-install-dir}/logs and {sfs-install-dir}/logs/boot.
In alternative you can execute the sfs2x script to run the server in standalone mode and see the logs directly in the terminal (useful for development). For example:
$ cd /home/fozzie/SFS2X-RC1/SFS2X/ $ ./sfs2x.sh
In order to completely remove SFS2X from your system proceed as follows:
Please notice that this operation is not reversible and all server settings will be lost.
Read More收到了亞馬遜發來的警告,反正就是說我那個EC2所在的硬件出故障了,很快這個EC2主機就將被terminate了。
Terminate就是說那個EC2將從這個世上消失了,所有的數據都沒了。
看到這封信,一下子有點慌了神。咱最近也沒備份過呀。現在主機連不上,也沒辦法備份。看來平時並能偷懶,云也確實不牢靠呀。
現在只能登到AWS的EC2 Console上去看看有沒有辦法了。
雖然很擔心,但是通過EC2 Console恢複本站的過程還是很順利的,整個過程大概不到半小時。
下面是恢復的步驟:
1. 到EC2主機列表,選擇還在運行,但是無法訪問的EC2主機(H1),從它Launch一個一樣配置的EC2主機(H2)。
2. 到EBS管理裡,找到H1使用的EBS,做一個快照(S1),再從快照S1,生成一個EBS存儲(E1)
3. 回到EC2主機列表,Stop主機H2,把H2使用的EBS存儲(E2)detach,然後把E1 attach到H2上
4. 重新開啟H2,這時H2本分配了一個新的外部IP(IP1),這時通過IP1已經能訪問本站了
5. 最後到DNS提供商的管理界面那裡把DNS指向IP1
6. Done,幾分鐘後監控寶就報告本站恢復了(他們的DNS更新怎麼這麼快?)。不過你現在可能還無法訪問本站,因為DNS服務器的更新是個漫長的過程:(。
經過這次中彩,我對AWS的基礎設施還是很滿意的,如果這事發生在某託管機房,真不知道後果會是什麼樣。我們應該相信–未來在云端。
http://www.leonzhang.com/2011/05/10/leonblog_ec2_broken/
Read MoreRightScript
通過RightScript定義一些腳本,語法可以是bash/ruby等.
ServerTemplate
通過ServerTemplate來制定一些機器的類型,比如在AWS的那個機房,機器的性能配置.特別是可以以Boot/Operational /Decommission的方式關聯RightScript,這樣就可以做到新建instance時安裝工具/設置初始變量,平時自動更新/產生告警, 移除instance是釋放資源/更新proxy配置等工作.
Deployments
通過Deployments,可以把環境隔離成不同的功能區域.也許對一個應用的所有環節建一個deployment比較合適.
Servers
Servers就是通過RightScale創建出來的AWS的主機instance,RightScale能管理和監控這些servers.
Arrays
Arrays有點類似cluster,同個制定一個Server template, array能根據需要動態開啟和關閉一組相同配置的Server.
http://www.leonzhang.com/2011/08/15/rightscale_basic/
Read Morehttp://www.cloudping.info/
| Region | Latency |
|---|---|
| US-East (Virginia) | 252 ms |
| US-West (California) | 160 ms |
| Europe (Ireland) | 480 ms |
| Asia Pacific (Singapore) | 135 ms |
| Asia Pacific (Japan) | 72 ms |
Download and install the AWS Toolkit for Eclipse using the following Eclipse Update Site:
http://aws.amazon.com/eclipse/
記得要用 root 權限開,要不然開啟 adminTool 會說找不到檔
Read More1.作用
kill命令用來中止一個進程。
2.格式
kill [ -s signal | -p ] [ -a ] pid …
kill -l [ signal ]
3.參數
-s:指定發送的信號。
-p:模擬發送信號。
-l:指定信號的名稱列表。
pid:要中止進程的ID號。
Signal:表示信號。
4.說明
進程是Linux系統中一個非常重要的概念。Linux是一個多任務的操作系統,系統上經常同時運行著多個進程。我們不關心這些進程究竟是如何分配的,或 者是內核如何管理分配時間片的,所關心的是如何去控制這些進程,讓它們能夠很好地為用戶服務。
Linux操作系統包括三種不同類型的進程,每種進程都有自己的特點和屬性。交互進程是由一個Shell啟動的進程。交互進程既可以在前台運行,也 可以在後台運行。批處理進程和終端沒有聯繫,是一個進程序列。監控進程(也稱系統守護進程)時Linux系統啟動時啟動的進程,並在後台運行。例 如,httpd是著名的Apache服務器的監控進程。
kill命令的工作原理是,向Linux系統的內核發送一個系統操作信號和某個程序的進程標識號,然後系統內核就可以對進程標識號指定的進程進行操 作。比如在top命令中,我們看到系統運行許多進程,有時就需要使用kill中止某些進程來提高系統資源。系統多個虛擬控制台的作用是當一個程序出錯造成 系統死鎖時,可以切換到其它虛擬控制台工作關閉這個程序。此時使用的命令就是kill,因為kill是大多數Shell內部命令可以直接調用的。
5.應用實例
(1)強行中止(經常使用殺掉)一個進程標識號為324的進程:
#kill -9 324
(2)解除Linux系統的死鎖
在Linux中有時會發生這樣一種情況:一個程序崩潰,並且處於死鎖的狀態。此時一般不用重新啟動計算機, 只需要中止(或者說是關閉)這個有問題的程序即 可。當kill處於X-Window界面時,主要的程序(除了崩潰的程序之外)一般都已經正常啟動了。此時打開一個終端,在那裡中止有問題的程序。比如, 如果Mozilla瀏覽器程序出現了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla瀏覽器的程序。首先用top命令查處該程序的 PID,然後使用kill命令停止這個程序:
#kill -SIGKILL XXX
其中,XXX是包含有Mozolla瀏覽器的程序的進程標識號。
(3)使用命令回收內存
我們知道內存對於系統是非常重要的,回收內存可以提高系統資源。kill命令可以及時地中止一些“越軌”的程序或很長時間沒有相應的程序。例如,使用 top命令發現一個無用 (Zombie) 的進程,此時可以使用下面命令:
#kill -9 XXX
其中,XXX是無用的進程標識號。
然後使用下面命令:
#free
此時會發現可用內存容量增加了。
(4)killall命令
Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:
# killall -HUP inetd
*殺死進程最安全的方法是單純使用kill命令,不加修飾符,不帶標誌。
首先使用ps -ef命令確定要殺死進程的PID,然後輸入以下命令:
# kill -pid
注釋:標準的kill命令通常都能達到目的。終止有問題的進程,並把進程的資源釋放給系統。然而,如果進程啟動了子進程,只殺死父進程,子進程仍在 運行,因此仍消耗資源。為了防止這些所謂的“僵屍進程”,應確保在殺死父進程之前,先殺死其所有的子進程。
——————————————————————————–
*確定要殺死進程的PID或PPID
# ps -ef | grep httpd
——————————————————————————–
*以優雅的方式結束進程
# kill -l PID
-l選項告訴kill命令用好像啟動進程的用戶已註銷的方式結束進程。當使用該選項時,kill命令也試圖殺死所留下的子進程。但這個命令也不是總 能成功–或許仍然需要先手工殺死子進程,然後再殺死父進程。
——————————————————————————–
*TERM信號
給父進程發送一個TERM信號,試圖殺死它和它的子進程。
# kill -TERM PPID
——————————————————————————–
*killall命令
killall命令殺死同一進程組內的所有進程。其允許指定要終止的進程的名稱,而非PID。
# killall httpd
——————————————————————————–
*停止和重啟進程
有時候只想簡單的停止和重啟進程。如下:
# kill -HUP PID
該命令讓Linux和緩的執行進程關閉,然後立即重啟。在配置應用程序的時候,這個命令很方便,在對配置文件修改後需要重啟進程時就可以執行此命 令。
——————————————————————————–
*絕殺 kill -9 PID
同意的 kill -s SIGKILL
這個強大和危險的命令迫使進程在運行時突然終止,進程在結束後不能自我清理。危害是導致系統資源無法正常釋放,一般不推薦使用,除非其他辦法都無 效。
當使用此命令時,一定要通過ps -ef確認沒有剩下任何僵屍進程。只能通過終止父進程來消除僵屍進程。如果僵屍進程被init收養,問題就比較嚴重了。殺死init進程意味著關閉系統。
如果系統中有僵屍進程,並且其父進程是init,而且僵屍進程占用了大量的系統資源,那麼就需要在某個時候重啟機器以清除進程表了。
Read MoreLinux中想殺死fcitx進程,然後再重啟它。
==========================================
root@www.linuxidc.com:/home/zhangbin# ps -e | grep ‘fcitx’
3405 ? 00:00:00 fcitx <defunct>
3415 ? 00:00:02 fcitx
==========================================
不顯示標題
==========================================
root@www.linuxidc.com:/home/zhangbin# ps -h
Warning: bad ps syntax, perhaps a bogus ‘-’? See http://procps.sf.net/faq.html
929 tty4 Ss+ 0:00 /sbin/getty -8 38400 tty4
936 tty5 Ss+ 0:00 /sbin/getty -8 38400 tty5
945 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2
946 tty3 Ss+ 0:00 /sbin/getty -8 38400 tty3
949 tty6 Ss+ 0:00 /sbin/getty -8 38400 tty6
1096 tty1 Ss+ 0:00 /sbin/getty -8 38400 tty1
3303 tty8 Ss+ 0:28 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-fo
3590 pts/0 S 0:00 su
3598 pts/0 S 0:00 bash
3621 pts/0 S 0:00 dbus-launch –autolaunch 3153116c74ee72bf74da76a44d30
3787 pts/0 R+ 0:00 ps -h
==========================================
顯示所有進程
==========================================
root@www.linuxidc.com:/home/zhangbin# ps -e
PID TTY TIME CMD
1 ? 00:00:00 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
8 ? 00:00:00 khelper
9 ? 00:00:00 netns
10 ? 00:00:00 async/mgr
11 ? 00:00:00 pm
12 ? 00:00:00 sync_supers
13 ? 00:00:00 bdi-default
14 ? 00:00:00 kintegrityd/0
15 ? 00:00:00 kblockd/0
16 ? 00:00:00 kacpid
17 ? 00:00:00 kacpi_notify
18 ? 00:00:00 kacpi_hotplug
19 ? 00:00:00 ata/0
20 ? 00:00:00 ata_aux
21 ? 00:00:00 ksuspend_usbd
==========================================
全格式,顯示終端上的進程。
==========================================
root@www.linuxidc.com:/home/zhangbin# ps -f
UID PID PPID C STIME TTY TIME CMD
root 3590 3573 0 23:43 pts/0 00:00:00 su
root 3598 3590 0 23:43 pts/0 00:00:00 bash
root 3621 1 0 23:43 pts/0 00:00:00 dbus-launch –autolaunch 3153116
root 3790 3598 0 23:53 pts/0 00:00:00 ps -f
==========================================
顯示終端上的所有進程
==========================================
root@www.linuxidc.com:/home/zhangbin# ps -a
PID TTY TIME CMD
3590 pts/0 00:00:00 su
3598 pts/0 00:00:00 bash
3621 pts/0 00:00:00 dbus-launch
3791 pts/0 00:00:00 ps
==========================================
顯示所有者的信息
==========================================
root@www.linuxidc.com:/home/zhangbin# ps -u
Warning: bad ps syntax, perhaps a bogus ‘-’? See http://www.linuxidc.com /faq.html
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 929 0.0 0.0 1792 464 tty4 Ss+ 23:20 0:00 /sbin/getty -8
root 936 0.0 0.0 1792 468 tty5 Ss+ 23:20 0:00 /sbin/getty -8
root 945 0.0 0.0 1792 468 tty2 Ss+ 23:20 0:00 /sbin/getty -8
root 946 0.0 0.0 1792 468 tty3 Ss+ 23:20 0:00 /sbin/getty -8
root 949 0.0 0.0 1792 468 tty6 Ss+ 23:20 0:00 /sbin/getty -8
root 1096 0.0 0.0 1792 468 tty1 Ss+ 23:20 0:00 /sbin/getty -8
root 3303 4.4 2.7 29932 20688 tty8 Ss+ 23:42 0:33 /usr/bin/X :0 -
root 3590 0.0 0.2 4692 1636 pts/0 S 23:43 0:00 su
root 3598 0.0 0.2 4784 1852 pts/0 S 23:43 0:00 bash
root 3621 0.0 0.0 3384 744 pts/0 S 23:43 0:00 dbus-launch –a
root 3792 0.0 0.1 2716 1048 pts/0 R+ 23:55 0:00 ps -u
==========================================
統計當前進程數目
==========================================
root@www.linuxidc.com:/home/zhangbin# ps -aux | wc
Warning: bad ps syntax, perhaps a bogus ‘-’? See http://www.linuxidc.com /faq.html
154 1830 15628
root@www.linuxidc.com:/home/zhangbin# ps -aux | wc -l
Warning: bad ps syntax, perhaps a bogus ‘-’? See http://www.linuxidc.com /faq.html
154
==========================================
過濾特定進程數目
==========================================
root@www.linuxidc.com:/home/zhangbin# ps aux | grep httpd | wc -l
1
root@www.linuxidc.com:/home/zhangbin# ps aux | grep httpd | wc
1 13 89
==========================================
ps命令最常用的還是用於監控後台進程的工作情況,
因為後台進程是不和屏幕鍵盤這些標準輸入/輸出設備進行通信的,
所以如果需要檢測其情況,便可以使用ps命令了.
ps [選項]
下面對命令選項進行說明︰
-e顯示所有進程.
-f全格式.
-h不顯示標題.
-l長格式.
-w寬輸出.
a顯示終端上的所有進程,包括其他用戶的進程.
r只顯示正在運行的進程.
x顯示沒有控制終端的進程.
O[+|-] k1 [,[+|-] k2 [,…]] 根據SHORT KEYS、k1、k2中快捷鍵指定的多 級排序順序顯示進程列表.對於ps的不同格式都存在著默認的順序指定.這些默 認順序可以被用戶的指定所覆蓋.其中「+」字符是可選的,「-」字符是倒轉指 定鍵的方向.
平時-
最常用的三個參數是u、a、x.
選項 功能介紹
-a 顯示所有終端中的進程。注意只有與終端關聯的進程才會顯示,那些守護進程或沒有和終端關聯的將不被顯示。
-x 顯示那些不關聯終端的進程。
-u 顯示進程所有者的信息
-f 顯示進程的父進程信息
-o 對ps指令顯示的信息進行定製,例如:pid、comm、%cpu、%mem、state、tty、euser、ruser
root@www.linuxidc.com:/home/zhangbin# ps -ef | grep fcitx
zhangbin 3405 3374 0 Feb20 ? 00:00:00 [fcitx] <defunct>
zhangbin 3415 1 0 Feb20 ? 00:00:06 /usr/bin/fcitx
root 3843 3598 0 00:08 pts/0 00:00:00 grep –color=auto fcitx
Read More