Compare commits
6 Commits
linux_daem
...
LIBGTOP_2_
Author | SHA1 | Date | |
---|---|---|---|
|
e34f38d3fc | ||
|
a207cc1580 | ||
|
b219d3181e | ||
|
bc848239ff | ||
|
0285e018f4 | ||
|
01f1e7e955 |
8
NEWS
8
NEWS
@@ -1,3 +1,11 @@
|
|||||||
|
9 July 2007: Overview of changes in 2.19.5
|
||||||
|
==========================================
|
||||||
|
* linux:
|
||||||
|
- fixed proc_map for >= 2.6.22
|
||||||
|
* freebsd:
|
||||||
|
- implemented procwd and procopenfiles
|
||||||
|
Joe Marcus Clarke
|
||||||
|
|
||||||
18 June 2007: Overview of changes in 2.19.4
|
18 June 2007: Overview of changes in 2.19.4
|
||||||
===========================================
|
===========================================
|
||||||
* solaris:
|
* solaris:
|
||||||
|
@@ -4,7 +4,7 @@ dnl
|
|||||||
|
|
||||||
m4_define([libgtop_major_version], [2])
|
m4_define([libgtop_major_version], [2])
|
||||||
m4_define([libgtop_minor_version], [19])
|
m4_define([libgtop_minor_version], [19])
|
||||||
m4_define([libgtop_micro_version], [4])
|
m4_define([libgtop_micro_version], [5])
|
||||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||||
|
|
||||||
dnl increment if the interface has additions, changes, removals.
|
dnl increment if the interface has additions, changes, removals.
|
||||||
|
12
po/ChangeLog
12
po/ChangeLog
@@ -1,3 +1,15 @@
|
|||||||
|
2007-07-09 I. Felix <ifelix@svn.gnome.org>
|
||||||
|
|
||||||
|
* ta.po: Tamil Translation updated by Tirumurthi Vasudevan
|
||||||
|
|
||||||
|
2007-07-07 Takeshi AIHANA <takeshi.aihana@gmail.com>
|
||||||
|
|
||||||
|
* ja.po: Updated Japanese translation.
|
||||||
|
|
||||||
|
2007-06-27 Clytie Siddall <clytie@riverland.net.au>
|
||||||
|
|
||||||
|
* vi.po: Updated Vietnamese translation.
|
||||||
|
|
||||||
2007-06-23 Kjartan Maraas <kmaraas@gnome.org>
|
2007-06-23 Kjartan Maraas <kmaraas@gnome.org>
|
||||||
|
|
||||||
* nb.po: Updated Norwegian bokmål translation.
|
* nb.po: Updated Norwegian bokmål translation.
|
||||||
|
142
po/ja.po
142
po/ja.po
@@ -1,208 +1,192 @@
|
|||||||
# libgtop ja.po.
|
# libgtop ja.po.
|
||||||
# Copyright (C) 1998,2000,2002-2005 Free Software Foundation, Inc.
|
# Copyright (C) 1998,2000,2002-2007 Free Software Foundation, Inc.
|
||||||
# Eiichiro ITANI <emu@ceres.dti.ne.jp>, 1998
|
# Eiichiro ITANI <emu@ceres.dti.ne.jp>, 1998
|
||||||
# Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2000, 2002.
|
# Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2000, 2002.
|
||||||
# Yukihiro Nakai <nakai@gnome.gr.jp>, 2000.
|
# Yukihiro Nakai <nakai@gnome.gr.jp>, 2000.
|
||||||
# KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>, 2003.
|
# KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>, 2003.
|
||||||
# Takeshi AIHANA <aihana@gnome.gr.jp>, 2004,2005.
|
# Takeshi AIHANA <takeshi.aihana@gmail.com>, 2004-2007.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop HEAD\n"
|
"Project-Id-Version: libgtop trunk\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-10-30 01:37+0900\n"
|
"POT-Creation-Date: 2007-07-08 01:03+0900\n"
|
||||||
"PO-Revision-Date: 2006-10-30 01:38+0900\n"
|
"PO-Revision-Date: 2007-07-08 01:03+0900\n"
|
||||||
"Last-Translator: Satoru SATOH <ss@gnome.gr.jp>\n"
|
"Last-Translator: Takeshi AIHANA <takeshi.aihana@gmail.com>\n"
|
||||||
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: ../lib/read.c:65
|
#: ../lib/read.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %d byte"
|
msgid "read %d byte"
|
||||||
msgid_plural "read %d bytes"
|
msgid_plural "read %d bytes"
|
||||||
msgstr[0] "%d バイト読み込み"
|
msgstr[0] " %dバイト読み込み"
|
||||||
|
msgstr[1] " %dバイト読み込み"
|
||||||
|
|
||||||
#: ../lib/read_data.c:53
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
msgstr "データの読み込みサイズ"
|
msgstr "データの読み込みサイズ"
|
||||||
|
|
||||||
#: ../lib/read_data.c:72
|
#: ../lib/read_data.c:70
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %lu byte of data"
|
msgid "read %lu byte of data"
|
||||||
msgid_plural "read %lu bytes of data"
|
msgid_plural "read %lu bytes of data"
|
||||||
msgstr[0] "%lu バイトデータの読み込み"
|
msgstr[0] " %luバイトデータの読み込み"
|
||||||
|
msgstr[1] " %luバイトデータの読み込み"
|
||||||
|
|
||||||
#: ../lib/write.c:53
|
#: ../lib/write.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrote %d byte"
|
msgid "wrote %d byte"
|
||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "%d バイトの書き込み"
|
msgstr[0] " %dバイトの書き込み"
|
||||||
|
msgstr[1] " %dバイトの書き込み"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
msgstr "デバッグを有効にする"
|
msgstr "デバッグを有効にする"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:460
|
||||||
msgid "DEBUG"
|
|
||||||
msgstr "DEBUG"
|
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:462
|
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "詳細な出力にする"
|
msgstr "詳細な出力にする"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:462
|
#: ../src/daemon/gnuserv.c:462
|
||||||
msgid "VERBOSE"
|
|
||||||
msgstr "VERBOSE"
|
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:464
|
|
||||||
msgid "Don't fork into background"
|
msgid "Don't fork into background"
|
||||||
msgstr "子プロセスをバックグラウンドに回さない"
|
msgstr "子プロセスをバックグラウンドに回さない"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:464
|
#: ../src/daemon/gnuserv.c:464
|
||||||
msgid "NO-DAEMON"
|
|
||||||
msgstr "NO-DAEMON"
|
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:466
|
|
||||||
msgid "Invoked from inetd"
|
msgid "Invoked from inetd"
|
||||||
msgstr "`inetd` から起動する"
|
msgstr "`inetd` から起動する"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:466
|
#: ../src/daemon/gnuserv.c:498
|
||||||
msgid "INETD"
|
|
||||||
msgstr "INETD"
|
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:500
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||||
"Error on option %s: %s.\n"
|
|
||||||
"Run '%s --help' to see a full list of available command line options.\n"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"オプション%sでエラー: %s\n"
|
"利用可能なコマンド・ラインのオプション一覧を表示する場合は '%s --help' を実行"
|
||||||
"コマンドラインオプションに使えるもの一覧を見るには'%s --help'を実行してくださ"
|
"して下さい\n"
|
||||||
"い。\n"
|
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "ハングアップ"
|
msgstr "ハングアップ"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "インタラプト"
|
msgstr "インタラプト"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "終了"
|
msgstr "終了"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "不正なインストラクション"
|
msgstr "不正なインストラクション"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "トレーストラップ"
|
msgstr "トレーストラップ"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "終了"
|
msgstr "停止"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "EMTエラー"
|
msgstr "EMT エラー"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "浮動小数点例外"
|
msgstr "浮動小数点例外"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "kill"
|
msgstr "強制終了"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "バスエラー"
|
msgstr "バスエラー"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "セグメンテーションバイオレーション"
|
msgstr "セグメンテーションバイオレーション"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "システムコールの引数が誤っています"
|
msgstr "システムコールの引数が誤っています"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "パイプ破壊"
|
msgstr "パイプ破壊"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "アラームクロック"
|
msgstr "アラームクロック"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "ターミネーション"
|
msgstr "ターミネーション"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "ソケットの緊急状態"
|
msgstr "ソケットの緊急状態"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "ストップ"
|
msgstr "ストップ"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "キーボードストップ"
|
msgstr "キーボード停止"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "コンティニュー"
|
msgstr "コンティニュー"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "子プロセス状態が変更された"
|
msgstr "子プロセス状態が変更された"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "ttyからのバックグラウンド読み込み"
|
msgstr "TTY からのバックグラウンド読み込み"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "ttyへのバックグラウンド書き込み"
|
msgstr "TTY へのバックグラウンド書き込み"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "I/Oが使用可能"
|
msgstr "I/Oが使用可能"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "CPU限界を越えた"
|
msgstr "CPU の限界を越えた"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "ファイルサイズ限界を越えた"
|
msgstr "ファイルサイズの限界を越えた"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "仮想アラームクロック"
|
msgstr "仮想アラームクロック"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "アラームクロックのプロファイル"
|
msgstr "アラームクロックのプロファイル"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "ウィンドウサイズの変更"
|
msgstr "ウィンドウサイズの変更"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "情報リクエスト"
|
msgstr "情報リクエスト"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:58 ../sysdeps/sun4/siglist.c:58
|
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "ユーザ定義シグナル 1"
|
msgstr "ユーザ定義シグナル1"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:59 ../sysdeps/sun4/siglist.c:59
|
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "ユーザ定義シグナル 2"
|
msgstr "ユーザ定義シグナル2"
|
||||||
|
152
po/ta.po
152
po/ta.po
@@ -9,205 +9,223 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: ta\n"
|
"Project-Id-Version: ta\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
|
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
|
||||||
"PO-Revision-Date: 2007-04-27 11:03+0530\n"
|
"PO-Revision-Date: 2007-07-08 17:29+0530\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
|
||||||
"Language-Team: <en@li.org>\n"
|
"Language-Team: <en@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"0500\n"
|
|
||||||
"X-Generator: KBabel 1.11.4\n"
|
"X-Generator: KBabel 1.11.4\n"
|
||||||
"Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"\n"
|
|
||||||
|
|
||||||
#: lib/read.c:65
|
#: ../lib/read.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %d byte"
|
msgid "read %d byte"
|
||||||
msgid_plural "read %d bytes"
|
msgid_plural "read %d bytes"
|
||||||
msgstr[0] "%d பைட்கள் படி"
|
msgstr[0] "%d பைட்கள் படி"
|
||||||
msgstr[1] "%d பைட்கள் படி"
|
msgstr[1] "%d பைட்கள் படி"
|
||||||
|
|
||||||
#: lib/read_data.c:53
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
msgstr "படித்த தகவல் அளவு"
|
msgstr "படித்த தகவல் அளவு"
|
||||||
|
|
||||||
#: lib/read_data.c:72
|
#: ../lib/read_data.c:70
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %lu byte of data"
|
msgid "read %lu byte of data"
|
||||||
msgid_plural "read %lu bytes of data"
|
msgid_plural "read %lu bytes of data"
|
||||||
msgstr[0] "தரவின் %lu பைட்டை வாசிக்கவும்"
|
msgstr[0] "தரவின் %lu பைட்டை வாசிக்கவும்"
|
||||||
msgstr[1] "தரவின் %lu பைட்டுக்களை வாசிக்கவும்"
|
msgstr[1] "தரவின் %lu பைட்டுக்களை வாசிக்கவும்"
|
||||||
|
|
||||||
#: lib/write.c:52
|
#: ../lib/write.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrote %d byte"
|
msgid "wrote %d byte"
|
||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "எழுதிய %d பைட்"
|
msgstr[0] "எழுதிய %d பைட்"
|
||||||
msgstr[1] "எழுதிய %d பைட்டுகள்"
|
msgstr[1] "எழுதிய %d பைட்டுகள்"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
msgstr "பிழை திருத்தலை செயல்படுத்து"
|
msgstr "பிழை திருத்தலை செயல்படுத்து"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:460
|
||||||
msgid "DEBUG"
|
|
||||||
msgstr "DEBUG(டீபக்)"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "வெர்போஸ் விளைவை செயல்படுத்து"
|
msgstr "வெர்போஸ் விளைவை செயல்படுத்து"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
#: ../src/daemon/gnuserv.c:462
|
||||||
msgid "VERBOSE"
|
|
||||||
msgstr "VERBOSE(வெற்போஸ்)"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
|
||||||
msgid "Don't fork into background"
|
msgid "Don't fork into background"
|
||||||
msgstr "பின்னனியை பிளக்காதே"
|
msgstr "பின்னனியை பிளக்காதே"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
#: ../src/daemon/gnuserv.c:464
|
||||||
msgid "NO-DAEMON"
|
|
||||||
msgstr "NO-DAEMON(நோ-டொமொன்)"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
|
||||||
msgid "Invoked from inetd"
|
msgid "Invoked from inetd"
|
||||||
msgstr "inetd லிருந்து செயல்படுத்து"
|
msgstr "inetd லிருந்து செயல்படுத்து"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
#: ../src/daemon/gnuserv.c:498
|
||||||
msgid "INETD"
|
|
||||||
msgstr "INETD(இனிட்டி)"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:500
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||||
"Error on option %s: %s.\n"
|
msgstr "Rus '%s--help' இயக்கி கட்டளைவரி தேர்வுகளை காணவும்.\n"
|
||||||
"Run '%s --help' to see a full list of available command line options.\n"
|
|
||||||
msgstr ""
|
|
||||||
"தேர்வில் பிழை %s: %s.\n"
|
|
||||||
"Rus '%s--help' இயக்கி கட்டளைவரி தேர்வுகளை பெற்றுக்கொள்ளவும் \n"
|
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
#: ../sysdeps/osf1/siglist.c:27
|
||||||
|
#: ../sysdeps/sun4/siglist.c:27
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "தொங்கியது"
|
msgstr "தொங்கியது"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:28
|
||||||
|
#: ../sysdeps/sun4/siglist.c:28
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "தடை"
|
msgstr "தடை"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:29
|
||||||
|
#: ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "வெளிச்செல்"
|
msgstr "வெளிச்செல்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:30
|
||||||
|
#: ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "தவறான செய்தி"
|
msgstr "தவறான செய்தி"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:31
|
||||||
|
#: ../sysdeps/sun4/siglist.c:31
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "தடம் காண்"
|
msgstr "தடம் காண்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:32
|
||||||
|
#: ../sysdeps/sun4/siglist.c:32
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "தடைசெய்"
|
msgstr "தடைசெய்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:33
|
||||||
|
#: ../sysdeps/sun4/siglist.c:33
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "EMT பிழை"
|
msgstr "EMT பிழை"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:34
|
||||||
|
#: ../sysdeps/sun4/siglist.c:34
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "பின்ன பிழை"
|
msgstr "பின்ன பிழை"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:35
|
||||||
|
#: ../sysdeps/sun4/siglist.c:35
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "கொலை செய்"
|
msgstr "கொலை செய்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:36
|
||||||
|
#: ../sysdeps/sun4/siglist.c:36
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "பஸ் பிழை"
|
msgstr "பஸ் பிழை"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:37
|
||||||
|
#: ../sysdeps/sun4/siglist.c:37
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "செக்மன்டேஷன் மீறல்"
|
msgstr "செக்மன்டேஷன் மீறல்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:38
|
||||||
|
#: ../sysdeps/sun4/siglist.c:38
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "கணினி அழைப்புக்கு மோசமான அளவுரு"
|
msgstr "கணினி அழைப்புக்கு மோசமான அளவுரு"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:39
|
||||||
|
#: ../sysdeps/sun4/siglist.c:39
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "உடைந்த பாதை"
|
msgstr "உடைந்த பாதை"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:40
|
||||||
|
#: ../sysdeps/sun4/siglist.c:40
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "அல்லாரம் கடிகாரம்"
|
msgstr "அல்லாரம் கடிகாரம்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:41
|
||||||
|
#: ../sysdeps/sun4/siglist.c:41
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "முடிவு"
|
msgstr "முடிவு"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:42
|
||||||
|
#: ../sysdeps/sun4/siglist.c:42
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "சாக்கெட்டின் அவசர நிலை"
|
msgstr "சாக்கெட்டின் அவசர நிலை"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:43
|
||||||
|
#: ../sysdeps/sun4/siglist.c:43
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "நிறுத்து"
|
msgstr "நிறுத்து"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:44
|
||||||
|
#: ../sysdeps/sun4/siglist.c:44
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "விசைப்பலகை நிறுத்தம்"
|
msgstr "விசைப்பலகை நிறுத்தம்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:45
|
||||||
|
#: ../sysdeps/sun4/siglist.c:45
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "தொடரவும்"
|
msgstr "தொடரவும்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:46
|
||||||
|
#: ../sysdeps/sun4/siglist.c:46
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "சேய்நிலை மாற்றப்பட்டது"
|
msgstr "சேய்நிலை மாற்றப்பட்டது"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:47
|
||||||
|
#: ../sysdeps/sun4/siglist.c:47
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "tty யின் பின்னியில் படி"
|
msgstr "tty யின் பின்னியில் படி"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:48
|
||||||
|
#: ../sysdeps/sun4/siglist.c:48
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "tty யின் பின்னியில் எழுது"
|
msgstr "tty யின் பின்னியில் எழுது"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:49
|
||||||
|
#: ../sysdeps/sun4/siglist.c:49
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "I/O இப்போது முடியும்"
|
msgstr "I/O இப்போது முடியும்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:50
|
||||||
|
#: ../sysdeps/sun4/siglist.c:50
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "CPU எல்லை கடந்தது"
|
msgstr "CPU எல்லை கடந்தது"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:51
|
||||||
|
#: ../sysdeps/sun4/siglist.c:51
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "முழு அளவு எல்லை கடந்தது"
|
msgstr "முழு அளவு எல்லை கடந்தது"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:52
|
||||||
|
#: ../sysdeps/sun4/siglist.c:52
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "மெய்நிகர் எச்சரிக்கை கடிகாரம்"
|
msgstr "மெய்நிகர் எச்சரிக்கை கடிகாரம்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:53
|
||||||
|
#: ../sysdeps/sun4/siglist.c:53
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "எச்சரிக்கை கடிகாத்தின் விவரம்"
|
msgstr "எச்சரிக்கை கடிகாத்தின் விவரம்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:54
|
||||||
|
#: ../sysdeps/sun4/siglist.c:54
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "சாளர அளவு மாற்றம்"
|
msgstr "சாளர அளவு மாற்றம்"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:55
|
||||||
|
#: ../sysdeps/sun4/siglist.c:55
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "தகவல் கோரிக்கை"
|
msgstr "தகவல் கோரிக்கை"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:56
|
||||||
|
#: ../sysdeps/sun4/siglist.c:56
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 1"
|
msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 1"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
#: ../sysdeps/osf1/siglist.c:57
|
||||||
|
#: ../sysdeps/sun4/siglist.c:57
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 2"
|
msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 2"
|
||||||
|
|
||||||
|
#~ msgid "DEBUG"
|
||||||
|
#~ msgstr "DEBUG(டீபக்)"
|
||||||
|
#~ msgid "VERBOSE"
|
||||||
|
#~ msgstr "VERBOSE(வெற்போஸ்)"
|
||||||
|
#~ msgid "NO-DAEMON"
|
||||||
|
#~ msgstr "NO-DAEMON(நோ-டொமொன்)"
|
||||||
|
#~ msgid "INETD"
|
||||||
|
#~ msgstr "INETD(இனிட்டி)"
|
||||||
|
|
||||||
|
189
po/vi.po
189
po/vi.po
@@ -1,205 +1,228 @@
|
|||||||
# Vietnamese translation for libgtop.
|
# Vietnamese translation for libgtop.
|
||||||
# Copyright © 2005 Gnome i18n Project for Vietnamese.
|
# Copyright © 2007 Gnome i18n Project for Vietnamese.
|
||||||
# pclouds <pclouds@gmx.net>, 2002.
|
# Nguyễn Thái Ngọc Duy <pclouds@gmx.net>, 2002.
|
||||||
# Clytie Siddall <clytie@riverland.net.au>, 2005.
|
# Clytie Siddall <clytie@riverland.net.au>, 2005-2007.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
""
|
||||||
"Project-Id-Version: libgtop GNOME 2.10\n"
|
msgstr "Project-Id-Version: libgtop GNOME 2.20\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
|
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
|
||||||
"PO-Revision-Date: 2005-07-01 18:03+0930\n"
|
"PO-Revision-Date: 2007-06-27 17:37+09300\n"
|
||||||
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
|
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
|
||||||
"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
|
"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: LocFactoryEditor 1.2.2\n"
|
"X-Generator: LocFactoryEditor 1.6.4a5\n"
|
||||||
|
|
||||||
#: lib/read.c:65
|
#: ../lib/read.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %d byte"
|
msgid "read %d byte"
|
||||||
msgid_plural "read %d bytes"
|
msgid_plural "read %d bytes"
|
||||||
msgstr[0] "đã đọc %d byte"
|
msgstr[0] "đã đọc %d byte"
|
||||||
|
|
||||||
#: lib/read_data.c:53
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
msgstr "đã đọc kích thước dữ liệu"
|
msgstr "đã đọc kích cỡ dữ liệu"
|
||||||
|
|
||||||
#: lib/read_data.c:72
|
#: ../lib/read_data.c:70
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %lu byte of data"
|
msgid "read %lu byte of data"
|
||||||
msgid_plural "read %lu bytes of data"
|
msgid_plural "read %lu bytes of data"
|
||||||
msgstr[0] "đã đọc %lu byte dữ liệu"
|
msgstr[0] "đã đọc %lu byte dữ liệu"
|
||||||
|
|
||||||
#: lib/write.c:52
|
#: ../lib/write.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrote %d byte"
|
msgid "wrote %d byte"
|
||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "đã ghi %d byte"
|
msgstr[0] "đã ghi %d byte"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
msgstr "Bật gỡ lỗi"
|
msgstr "Bật khả năng gỡ lỗi"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:460
|
||||||
msgid "DEBUG"
|
|
||||||
msgstr "GỠ LỖI"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "Bật xuất chi tiết"
|
msgstr "Bật khả năng xuất chi tiết"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
#: ../src/daemon/gnuserv.c:462
|
||||||
msgid "VERBOSE"
|
|
||||||
msgstr "CHI TIẾT"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
|
||||||
msgid "Don't fork into background"
|
msgid "Don't fork into background"
|
||||||
msgstr "Không tạo tiến trình con vào nền"
|
msgstr "Không tạo tiến trình con vào nền"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
#: ../src/daemon/gnuserv.c:464
|
||||||
msgid "NO-DAEMON"
|
|
||||||
msgstr "KHÔNG TRÌNH NỀN"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
|
||||||
msgid "Invoked from inetd"
|
msgid "Invoked from inetd"
|
||||||
msgstr "Được gọi từ inetd"
|
msgstr "Được gọi từ inetd"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
#: ../src/daemon/gnuserv.c:498
|
||||||
msgid "INETD"
|
|
||||||
msgstr "INETD"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:500
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||||
"Error on option %s: %s.\n"
|
msgstr "Chạy lệnh « %s --help » để xem danh sách các tùy chọn dòng lệnh sẵn sàng.\n"
|
||||||
"Run '%s --help' to see a full list of available command line options.\n"
|
|
||||||
msgstr ""
|
|
||||||
"Lỗi tùy chọn %s: %s.\n"
|
|
||||||
"Chạy «%s --help» để xem danh sách toàn bộ các tùy chọn có thể.\n"
|
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
#: ../sysdeps/osf1/siglist.c:27
|
||||||
|
#: ../sysdeps/sun4/siglist.c:27
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "Treo máy"
|
msgstr "Treo máy"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:28
|
||||||
|
#: ../sysdeps/sun4/siglist.c:28
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "Ngắt"
|
msgstr "Ngắt"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:29
|
||||||
|
#: ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Thoát"
|
msgstr "Thoát"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:30
|
||||||
|
#: ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "Lệnh bị cấm"
|
msgstr "Lệnh bị cấm"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:31
|
||||||
|
#: ../sysdeps/sun4/siglist.c:31
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "Bẫy theo vết"
|
msgstr "Bẫy theo vết"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:32
|
||||||
|
#: ../sysdeps/sun4/siglist.c:32
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "Hủy"
|
msgstr "Hủy"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:33
|
||||||
|
#: ../sysdeps/sun4/siglist.c:33
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "Lỗi EMT"
|
msgstr "Lỗi EMT"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:34
|
||||||
|
#: ../sysdeps/sun4/siglist.c:34
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "Ngoại lệ điểm phù động"
|
msgstr "Ngoại lệ điểm phù động"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:35
|
||||||
|
#: ../sysdeps/sun4/siglist.c:35
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "Buộc chấm dứt"
|
msgstr "Buộc chấm dứt"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:36
|
||||||
|
#: ../sysdeps/sun4/siglist.c:36
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "Lỗi Bus"
|
msgstr "Lỗi mạch"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:37
|
||||||
|
#: ../sysdeps/sun4/siglist.c:37
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "Vi phạm phân đoạn"
|
msgstr "Vi phạm phân đoạn"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:38
|
||||||
|
#: ../sysdeps/sun4/siglist.c:38
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "Đối số sai với lời gọi hệ thống"
|
msgstr "Đối số sai với cuộc gọi hệ thống"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:39
|
||||||
|
#: ../sysdeps/sun4/siglist.c:39
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "Ống dẫn bị gãy"
|
msgstr "Ống dẫn bị ngắt"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:40
|
||||||
|
#: ../sysdeps/sun4/siglist.c:40
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "Đồng hồ báo động"
|
msgstr "Đồng hồ báo động"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:41
|
||||||
|
#: ../sysdeps/sun4/siglist.c:41
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "Kết thúc"
|
msgstr "Kết thúc"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:42
|
||||||
|
#: ../sysdeps/sun4/siglist.c:42
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "Hoàn cảnh khẩn trên ổ cắm"
|
msgstr "Hoàn cảnh khẩn trên ổ cắm"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:43
|
||||||
|
#: ../sysdeps/sun4/siglist.c:43
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Dừng"
|
msgstr "Dừng"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:44
|
||||||
|
#: ../sysdeps/sun4/siglist.c:44
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "Dừng bàn phím"
|
msgstr "Dừng bàn phím"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:45
|
||||||
|
#: ../sysdeps/sun4/siglist.c:45
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "Tiếp tục"
|
msgstr "Tiếp tục"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:46
|
||||||
|
#: ../sysdeps/sun4/siglist.c:46
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "Trạng thái tiến trình con đã thay đổi"
|
msgstr "Trạng thái tiến trình con đã thay đổi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:47
|
||||||
|
#: ../sysdeps/sun4/siglist.c:47
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "Đọc từ tty (chế độ nền)"
|
msgstr "Đọc từ tty (chế độ nền)"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:48
|
||||||
|
#: ../sysdeps/sun4/siglist.c:48
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "Ghi vào tty (chế độ nền)"
|
msgstr "Ghi vào tty (chế độ nền)"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:49
|
||||||
|
#: ../sysdeps/sun4/siglist.c:49
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "mới có thể dùng gõ/xuất"
|
msgstr "giờ có thể dùng Vào/Ra"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:50
|
||||||
|
#: ../sysdeps/sun4/siglist.c:50
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "Vượt quá giới hạn CPU"
|
msgstr "Vượt quá giới hạn CPU"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:51
|
||||||
|
#: ../sysdeps/sun4/siglist.c:51
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "Vượt quá giới hạn kích thước tập tin"
|
msgstr "Vượt quá giới hạn kích cỡ tập tin"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:52
|
||||||
|
#: ../sysdeps/sun4/siglist.c:52
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "Đồng hồ báo động ảo"
|
msgstr "Đồng hồ báo động ảo"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:53
|
||||||
|
#: ../sysdeps/sun4/siglist.c:53
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "Lấy thông tin về đồng hồ bảo động"
|
msgstr "Đồng hồ bảo động đo hiệu suất"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:54
|
||||||
|
#: ../sysdeps/sun4/siglist.c:54
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "Thay đổi kích thước cửa sổ"
|
msgstr "Thay đổi kích cỡ cửa sổ"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:55
|
||||||
|
#: ../sysdeps/sun4/siglist.c:55
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "Yêu cầu thông tin"
|
msgstr "Yêu cầu thông tin"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:56
|
||||||
|
#: ../sysdeps/sun4/siglist.c:56
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "Tín hiệu do người dùng định nghĩa 1"
|
msgstr "Tín hiệu do người dùng xác định 1"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
#: ../sysdeps/osf1/siglist.c:57
|
||||||
|
#: ../sysdeps/sun4/siglist.c:57
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "Tín hiệu do người dùng định nghĩa 2"
|
msgstr "Tín hiệu do người dùng xác định 2"
|
||||||
|
|
||||||
|
#~ msgid "DEBUG"
|
||||||
|
#~ msgstr "GỠ LỖI"
|
||||||
|
|
||||||
|
#~ msgid "VERBOSE"
|
||||||
|
#~ msgstr "CHI TIẾT"
|
||||||
|
|
||||||
|
#~ msgid "NO-DAEMON"
|
||||||
|
#~ msgstr "KHÔNG TRÌNH NỀN"
|
||||||
|
|
||||||
|
#~ msgid "INETD"
|
||||||
|
#~ msgstr "INETD"
|
||||||
|
@@ -1,3 +1,11 @@
|
|||||||
|
2007-07-01 Benoît Dejean <benoit@placenet.org>
|
||||||
|
|
||||||
|
Fixe some problems as well as implements procwd and procopenfiles
|
||||||
|
for FreeBSD using a wrapper around lsof. This same backend should
|
||||||
|
also work on kFreeBSD.
|
||||||
|
|
||||||
|
Patch by Joe Marcus Clarke <marcus@freebsd.org>
|
||||||
|
|
||||||
2007-02-18 Benoît Dejean <benoit@placenet.org>
|
2007-02-18 Benoît Dejean <benoit@placenet.org>
|
||||||
|
|
||||||
* AUTHORS:
|
* AUTHORS:
|
||||||
|
@@ -5,7 +5,9 @@ noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
|
|||||||
|
|
||||||
libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c sysinfo.c shm_limits.c \
|
libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c sysinfo.c shm_limits.c \
|
||||||
cpu.c msg_limits.c sem_limits.c loadavg.c \
|
cpu.c msg_limits.c sem_limits.c loadavg.c \
|
||||||
uptime.c netlist.c fsusage.c mem.c
|
uptime.c netlist.c fsusage.c mem.c \
|
||||||
|
procopenfiles.c procwd.c \
|
||||||
|
glibtop_private.c
|
||||||
|
|
||||||
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||||
|
|
||||||
@@ -14,11 +16,11 @@ libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c swap.c \
|
|||||||
proclist.c procstate.c procuid.c \
|
proclist.c procstate.c procuid.c \
|
||||||
proctime.c procmem.c procsignal.c \
|
proctime.c procmem.c procsignal.c \
|
||||||
prockernel.c procsegment.c procargs.c \
|
prockernel.c procsegment.c procargs.c \
|
||||||
procmap.c netload.c ppp.c procopenfiles.c
|
procmap.c netload.c ppp.c
|
||||||
|
|
||||||
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||||
|
|
||||||
libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h \
|
libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h \
|
||||||
glibtop_suid.h
|
glibtop_suid.h glibtop_private.h
|
||||||
|
|
||||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
libgtopincludedir = $(includedir)/libgtop-2.0
|
||||||
|
54
sysdeps/freebsd/glibtop_private.c
Normal file
54
sysdeps/freebsd/glibtop_private.c
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#include <config.h>
|
||||||
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
|
#include "glibtop_private.h"
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <glib.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
char *
|
||||||
|
execute_lsof(pid_t pid) {
|
||||||
|
char *output = NULL;
|
||||||
|
char *lsof;
|
||||||
|
char *command;
|
||||||
|
int exit_status;
|
||||||
|
|
||||||
|
lsof = g_find_program_in_path("lsof");
|
||||||
|
if (lsof == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
command = g_strdup_printf("%s -n -P -Fftn -p %d", lsof, pid);
|
||||||
|
g_free(lsof);
|
||||||
|
|
||||||
|
if (g_spawn_command_line_sync (command, &output, NULL, &exit_status, NULL)) {
|
||||||
|
if (exit_status != 0) {
|
||||||
|
g_warning("Could not execute \"%s\" (%i)", command,
|
||||||
|
exit_status);
|
||||||
|
output = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
g_free(command);
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Ported from linux/glibtop_private.c */
|
||||||
|
gboolean
|
||||||
|
safe_readlink(const char *path, char *buf, int bufsiz)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = readlink(path, buf, bufsiz - 1);
|
||||||
|
|
||||||
|
if (ret == -1) {
|
||||||
|
g_warning("Could not read link %s : %s", path, strerror(errno));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
buf[ret] = '\0';
|
||||||
|
return TRUE;
|
||||||
|
}
|
40
sysdeps/freebsd/glibtop_private.h
Normal file
40
sysdeps/freebsd/glibtop_private.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright (C) 2007 Joe Marcus Clarke
|
||||||
|
This file is part of LibGTop 2.0.
|
||||||
|
|
||||||
|
LibGTop is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License,
|
||||||
|
or (at your option) any later version.
|
||||||
|
|
||||||
|
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __FREEBSD__GLIBTOP_PRIVATE_H__
|
||||||
|
#define __FREEBSD__GLIBTOP_PRIVATE_H__
|
||||||
|
|
||||||
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
char *execute_lsof(pid_t pid);
|
||||||
|
gboolean safe_readlink(const char *path, char *buf, int bufsiz);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __FREEBSD__GLIBTOP_PRIVATE_H__ */
|
@@ -45,6 +45,7 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_SUID_MSG_LIMITS 0
|
#define GLIBTOP_SUID_MSG_LIMITS 0
|
||||||
#define GLIBTOP_SUID_SEM_LIMITS 0
|
#define GLIBTOP_SUID_SEM_LIMITS 0
|
||||||
#define GLIBTOP_SUID_NETLIST 0
|
#define GLIBTOP_SUID_NETLIST 0
|
||||||
|
#define GLIBTOP_SUID_PROC_WD 0
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@@ -40,7 +40,7 @@ static const unsigned long _glibtop_sysdeps_proclist =
|
|||||||
* buf->flags is only set if the call succeeded, in this case pids_chain,
|
* buf->flags is only set if the call succeeded, in this case pids_chain,
|
||||||
* a list of the pids of all currently running processes is returned,
|
* a list of the pids of all currently running processes is returned,
|
||||||
* buf->number is the number of elements of this list and buf->size is
|
* buf->number is the number of elements of this list and buf->size is
|
||||||
* the size of one single element (sizeof (unsigned)). The total size is
|
* the size of one single element (sizeof (pid_t)). The total size is
|
||||||
* stored in buf->total.
|
* stored in buf->total.
|
||||||
*
|
*
|
||||||
* The calling function has to free the memory to which a pointer is returned.
|
* The calling function has to free the memory to which a pointer is returned.
|
||||||
@@ -61,7 +61,7 @@ _glibtop_init_proclist_p (glibtop *server)
|
|||||||
server->sysdeps.proclist = _glibtop_sysdeps_proclist;
|
server->sysdeps.proclist = _glibtop_sysdeps_proclist;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned *
|
pid_t *
|
||||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg)
|
gint64 which, gint64 arg)
|
||||||
{
|
{
|
||||||
@@ -90,18 +90,18 @@ glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
|||||||
|
|
||||||
len /= sizeof (struct kinfo_proc);
|
len /= sizeof (struct kinfo_proc);
|
||||||
|
|
||||||
pids = g_array_sized_new (FALSE, FALSE, sizeof (unsigned), len);
|
pids = g_array_sized_new (FALSE, FALSE, sizeof (pid_t), len);
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
unsigned pid;
|
pid_t pid;
|
||||||
|
|
||||||
pid = (unsigned) pinfo[i].ki_pid;
|
pid = (pid_t) pinfo[i].ki_pid;
|
||||||
|
|
||||||
switch (which & GLIBTOP_KERN_PROC_MASK) {
|
switch (which & GLIBTOP_KERN_PROC_MASK) {
|
||||||
case GLIBTOP_KERN_PROC_ALL:
|
case GLIBTOP_KERN_PROC_ALL:
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_KERN_PROC_PID:
|
case GLIBTOP_KERN_PROC_PID:
|
||||||
if ((unsigned) arg != pid)
|
if ((pid_t) arg != pid)
|
||||||
continue;
|
continue;
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_KERN_PROC_UID:
|
case GLIBTOP_KERN_PROC_UID:
|
||||||
@@ -144,9 +144,9 @@ glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
|||||||
g_free (pinfo);
|
g_free (pinfo);
|
||||||
|
|
||||||
buf->flags = _glibtop_sysdeps_proclist;
|
buf->flags = _glibtop_sysdeps_proclist;
|
||||||
buf->size = sizeof (unsigned);
|
buf->size = sizeof (pid_t);
|
||||||
buf->number = pids->len;
|
buf->number = pids->len;
|
||||||
buf->total = buf->number * buf->size;
|
buf->total = buf->number * buf->size;
|
||||||
|
|
||||||
return (unsigned *) g_array_free (pids, FALSE);
|
return (pid_t *) g_array_free (pids, FALSE);
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
Copyright (C) 2004 Nicol<6F>s Lichtmaier
|
Copyright (C) 2004 Nicol<6F>s Lichtmaier
|
||||||
|
Copyright (C) 2007 Joe Marcus Clarke
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
Modified by Nicol<6F>s Lichtmaier to give a process open files.
|
Modified by Nicol<6F>s Lichtmaier to give a process open files.
|
||||||
@@ -26,8 +27,11 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/error.h>
|
#include <glibtop/error.h>
|
||||||
#include <glibtop/procopenfiles.h>
|
#include <glibtop/procopenfiles.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <glibtop_suid.h>
|
#include "glibtop_private.h"
|
||||||
|
|
||||||
static const unsigned long _glibtop_sysdeps_proc_open_files =
|
static const unsigned long _glibtop_sysdeps_proc_open_files =
|
||||||
(1L << GLIBTOP_PROC_OPEN_FILES_NUMBER)|
|
(1L << GLIBTOP_PROC_OPEN_FILES_NUMBER)|
|
||||||
@@ -42,10 +46,139 @@ _glibtop_init_proc_open_files_s (glibtop *server)
|
|||||||
server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files;
|
server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GArray *
|
||||||
|
parse_output(const char *output) {
|
||||||
|
GArray *entries;
|
||||||
|
char **lines;
|
||||||
|
char *ftype = NULL;
|
||||||
|
char *fname = NULL;
|
||||||
|
guint i;
|
||||||
|
guint len;
|
||||||
|
int fd = -1;
|
||||||
|
|
||||||
|
entries = g_array_new(FALSE, FALSE, sizeof(glibtop_open_files_entry));
|
||||||
|
|
||||||
|
lines = g_strsplit(output, "\n", 0);
|
||||||
|
len = g_strv_length(lines);
|
||||||
|
|
||||||
|
for (i = 0; i < len && lines[i]; i++) {
|
||||||
|
glibtop_open_files_entry entry = {0};
|
||||||
|
|
||||||
|
if (strlen(lines[i]) < 2)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!g_str_has_prefix(lines[i], "f") &&
|
||||||
|
!g_str_has_prefix(lines[i], "t") &&
|
||||||
|
!g_str_has_prefix(lines[i], "n"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (g_str_has_prefix(lines[i], "f")) {
|
||||||
|
if (!g_ascii_isdigit(*(lines[i] + 1)))
|
||||||
|
i += 2;
|
||||||
|
else
|
||||||
|
fd = atoi(lines[i] + 1);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_str_has_prefix(lines[i], "t")) {
|
||||||
|
ftype = lines[i];
|
||||||
|
ftype++;
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
fname = lines[i];
|
||||||
|
fname++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ftype == NULL || fname == NULL)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!strcmp(ftype, "unix")) {
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_LOCALSOCKET;
|
||||||
|
g_strlcpy(entry.info.localsock.name, fname,
|
||||||
|
sizeof(entry.info.localsock.name));
|
||||||
|
} else if (!strcmp(ftype, "PIPE")) {
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_PIPE;
|
||||||
|
} else if (!strcmp(ftype, "VREG") ||
|
||||||
|
!strcmp(ftype, "GDIR") ||
|
||||||
|
!strcmp(ftype, "GREG") ||
|
||||||
|
!strcmp(ftype, "VCHR") ||
|
||||||
|
!strcmp(ftype, "VBLK") ||
|
||||||
|
!strcmp(ftype, "DIR") ||
|
||||||
|
!strcmp(ftype, "LINK") ||
|
||||||
|
!strcmp(ftype, "REG") ||
|
||||||
|
!strcmp(ftype, "VDIR")) {
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_FILE;
|
||||||
|
g_strlcpy(entry.info.file.name, fname,
|
||||||
|
sizeof(entry.info.file.name));
|
||||||
|
} else if (!strcmp(ftype, "IPv4")) {
|
||||||
|
char **hosts;
|
||||||
|
char **remote_host;
|
||||||
|
|
||||||
|
if (!strstr(fname, "->")) {
|
||||||
|
remote_host = g_strsplit(fname, ":", 0);
|
||||||
|
} else {
|
||||||
|
hosts = g_strsplit(fname, "->", 0);
|
||||||
|
if (g_strv_length(hosts) < 2) {
|
||||||
|
g_strfreev(hosts);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
remote_host = g_strsplit(hosts[1], ":", 0);
|
||||||
|
g_strfreev(hosts);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_strv_length(remote_host) < 2) {
|
||||||
|
g_strfreev(remote_host);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_INETSOCKET;
|
||||||
|
if (!strcmp(remote_host[0], "*"))
|
||||||
|
g_strlcpy(entry.info.sock.dest_host, "0.0.0.0",
|
||||||
|
sizeof(entry.info.sock.dest_host));
|
||||||
|
else
|
||||||
|
g_strlcpy(entry.info.sock.dest_host,
|
||||||
|
remote_host[0],
|
||||||
|
sizeof(entry.info.sock.dest_host));
|
||||||
|
entry.info.sock.dest_port = atoi(remote_host[1]);
|
||||||
|
|
||||||
|
g_strfreev(remote_host);
|
||||||
|
} else
|
||||||
|
continue;
|
||||||
|
|
||||||
|
entry.fd = fd;
|
||||||
|
|
||||||
|
fd = -1;
|
||||||
|
ftype = NULL;
|
||||||
|
fname = NULL;
|
||||||
|
|
||||||
|
g_array_append_val(entries, entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_strfreev(lines);
|
||||||
|
|
||||||
|
return entries;
|
||||||
|
}
|
||||||
|
|
||||||
/* XXX Unimplemented on FreeBSD */
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid)
|
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid)
|
||||||
{
|
{
|
||||||
return NULL;
|
char *output;
|
||||||
|
GArray *entries;
|
||||||
|
|
||||||
|
memset(buf, 0, sizeof (glibtop_proc_open_files));
|
||||||
|
|
||||||
|
output = execute_lsof(pid);
|
||||||
|
if (output == NULL) return NULL;
|
||||||
|
|
||||||
|
entries = parse_output(output);
|
||||||
|
|
||||||
|
g_free(output);
|
||||||
|
|
||||||
|
buf->flags = _glibtop_sysdeps_proc_open_files;
|
||||||
|
buf->number = entries->len;
|
||||||
|
buf->size = sizeof(glibtop_open_files_entry);
|
||||||
|
buf->total = buf->number * buf->size;
|
||||||
|
|
||||||
|
return (glibtop_open_files_entry*)g_array_free(entries, FALSE);
|
||||||
}
|
}
|
||||||
|
121
sysdeps/freebsd/procwd.c
Normal file
121
sysdeps/freebsd/procwd.c
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
/* Copyright (C) 2007 Joe Marcus Clarke
|
||||||
|
This file is part of LibGTop 2.
|
||||||
|
|
||||||
|
LibGTop is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License,
|
||||||
|
or (at your option) any later version.
|
||||||
|
|
||||||
|
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <glibtop/procwd.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
|
#include <glibtop_private.h>
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
static const unsigned long _glibtop_sysdeps_proc_wd =
|
||||||
|
(1 << GLIBTOP_PROC_WD_EXE) |
|
||||||
|
(1 << GLIBTOP_PROC_WD_ROOT) |
|
||||||
|
(1 << GLIBTOP_PROC_WD_NUMBER);
|
||||||
|
|
||||||
|
void
|
||||||
|
_glibtop_init_proc_wd_s(glibtop *server)
|
||||||
|
{
|
||||||
|
server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
|
||||||
|
}
|
||||||
|
|
||||||
|
static GPtrArray *
|
||||||
|
parse_output(const char *output, glibtop_proc_wd *buf)
|
||||||
|
{
|
||||||
|
GPtrArray *dirs;
|
||||||
|
char **lines;
|
||||||
|
gboolean nextwd = FALSE;
|
||||||
|
gboolean nextrtd = FALSE;
|
||||||
|
gboolean havertd = FALSE;
|
||||||
|
guint i;
|
||||||
|
guint len;
|
||||||
|
|
||||||
|
dirs = g_ptr_array_sized_new(1);
|
||||||
|
|
||||||
|
lines = g_strsplit(output, "\n", 0);
|
||||||
|
len = g_strv_length(lines);
|
||||||
|
|
||||||
|
for (i = 0; i < len && lines[i]; i++) {
|
||||||
|
if (strlen(lines[i]) < 2)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!strcmp(lines[i], "fcwd")) {
|
||||||
|
nextwd = TRUE;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(lines[i], "frtd")) {
|
||||||
|
nextrtd = TRUE;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!g_str_has_prefix(lines[i], "n"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (nextwd) {
|
||||||
|
g_ptr_array_add(dirs, g_strdup(lines[i] + 1));
|
||||||
|
nextwd = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nextrtd && !havertd) {
|
||||||
|
g_strlcpy(buf->root, lines[i] + 1,
|
||||||
|
sizeof(buf->root));
|
||||||
|
buf->flags |= (1 << GLIBTOP_PROC_WD_ROOT);
|
||||||
|
nextrtd = FALSE;
|
||||||
|
havertd = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
g_strfreev(lines);
|
||||||
|
|
||||||
|
return dirs;
|
||||||
|
}
|
||||||
|
|
||||||
|
char**
|
||||||
|
glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
|
||||||
|
{
|
||||||
|
char path[MAXPATHLEN];
|
||||||
|
char *output;
|
||||||
|
|
||||||
|
memset (buf, 0, sizeof (glibtop_proc_wd));
|
||||||
|
|
||||||
|
g_snprintf(path, sizeof(path), "/proc/%u/file", pid);
|
||||||
|
if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
|
||||||
|
buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
|
||||||
|
|
||||||
|
output = execute_lsof(pid);
|
||||||
|
if (output != NULL) {
|
||||||
|
GPtrArray *dirs;
|
||||||
|
|
||||||
|
dirs = parse_output(output, buf);
|
||||||
|
g_free(output);
|
||||||
|
|
||||||
|
buf->number = dirs->len;
|
||||||
|
buf->flags |= (1 << GLIBTOP_PROC_WD_NUMBER);
|
||||||
|
|
||||||
|
g_ptr_array_add(dirs, NULL);
|
||||||
|
|
||||||
|
return (char **)g_ptr_array_free(dirs, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
Reference in New Issue
Block a user