javaのnetapp.cmds.jsh
NetAppシステムではほとんど知られていない隠れた宝石、Javaのシェルがある! 我々はこれは非常に危険と完全にサポートされていないことを聞かさ。 これと同じくらい特別なものは、明らかに私の首の後ろで髪を取得し、私は私がそれを破ることができるのか確認したいです。 そうこれは私がNetAppシステムでのJavaシェルで再生すると何が起こるかです!
ちょうど簡単なメモ、^ Cので、出力電流を破壊しないが、"猫"ファイルであれば、^ Cを電流出力に何もしません。 しかしあなたはそれが必ずしもすべての出力が画面に書き込まれているので、後に、Javaのシェルからクラッシュするのを保証できます、それはあなたのためのJavaの殻をクラッシュするよ!
通常のNetAppのルール、"?"私たちのすべての利用可能なコマンドの出力が得られます。 通常のNetAppのルールと同様に、私はいくつかの隠された宝石は、(チェックアウトもここにあると確信しているNetAppのJSH -もっと楽しく )、あまりにも多くを掘る行く前に基礎をカバーすることができます!
我々は、ファイラをブラウズする素晴らしい容易能力を持って、明らかにこれはNFSとCIFSの共有と正しく動作します。 フルパスはもちろんの/ vol / vol_nameのもです。 これは途方もなく強力です、私たちは"PRIVセットの高度な"内部の"ls"を持って知っているが、我々はファイルサイズとファイルのパーミッション(UNIXのスタイルを含む完全な長いフォーマットを、得ることができるので、Javaのシェルは、"- l"オプションを追加自然に)。
JSH> CDの/ etc
JSH> CDログ
JSH> PWD
/ vol/vol0/etc/log
JSH> ls - lと
drwx - 42 0 12288 2009年1月25日1時11分20秒のAutoSupport
- rwxの - 1 0 653909 2009年1月25日午前0時00分○○秒ems.0
- rwxの - 1 0 2709697 2008年12月21日午後十二時00分00秒messages.5
当然私は上記の出力をsnippedてきたが、あなたのアイデアを得る。 これは、ストレージおよびシステム管理者のための非常に強力です。
" 猫 " は"rdfile"ので、余分なオプションや機能があるとのパリティを持ちます。 はコマンドの配管、またはgrep、または何も、そうここにない余分な物はありません。
"RMは "私たちのファイルを削除したりすることができます。 残念ながら、ワイルドカードは、ここで許可されませんが、チェーンに複数のファイルを一度にそれらをすべて削除することができます。 残念ながら私たちはまた、ディレクトリを削除する機能を持っていない、あるいは、少なくとも再帰的に物事を削除しない。 私はこれで他の日のいくつかのプロファイルを削除しようとしていた、そしてそれは同時に一つのファイルになります。 それでも、何もないよりまし!
本当に正確にはスズに言う"CP"、"MV"、。 移動ファイルのコピー。 再び、空想も、派手なクローニングまたはブロックレベルのものは、これは単なるJavaのシェルではありませんので、オペレーティングシステムがそのように期待するとおりにファイルをコピーします!
今、私たちはいくつかのクールなものになる!
"PS"、私はこの非常に多くの時間を必要としました。 顧客は、システムがクラッシュしたか、物事が徐々にビットを実行すると言いますが、このシステムが実際にやっていることをどのように地獄を知ることができますか? 適切な* nixのスタイルのプロセスの表示。 出力は、PRI、グループ、名前に分離されている。 私はその後、スレッドID(それはのように、下のカフナを実行するかをドメインのように)、それは(私は唯一のシステムまたはメインと思う)で実行されているグループ、および実際にプロセス名のためにこれらから推測することができます。 私は、彼らが激しく何も処理を使用している場合、これらが実行されている時間の長さを示す、あるいはそのいずれかの方法があるとは思わないが、それは何が起こっているのを私達に示しています。
自然に" 殺す "ことなく、"ps"を持つことの少ない利点があります。 キルが期待どおりに動作する、"-1を殺す "とスレッドを終了する"-9を殺す "。 ここでthreadNameの代わりにプロセスIDを使用してください。 私は私のかわいそうな250として、実際にはあまり実行されない、これであまり遊んできました!
JSH> PS - L
PRIグループ名
10システムのリファレンスハンドラ
8システムのファイナライザ
5つの主要コールバックハンドラ
5つの主要ndmpmetafilefactory
5つの主要サーブレットエンジン
5つの主要InetSntp_Local_1315
5つの主要InetSntp_123
5つの主要TimeDaemon
5つの主要JAF
5つの主要JSH
JSH> kill -9をJSH
ファイラ>
さてあなたは、Java、シェルのプロセスを強制終了するときに何が起こるか期待してた?
"GC"は Javaのガベージコレクタです。 私はJavaの専門家だ、これはJavaのシェルについて読んだからです。 それは、メモリ空間を解放し、メモリ使用量を表示しようとするでしょう。
" クラスパス"、"syspath"、これらの出力の両方のJavaのためのシステムのセットのパス。 必要に応じて、これに付加することができるはずです。 私はいくつかの時間を得るとき、私は、ファイラ上に外部のJavaクラスを含むように可能性があるかどうかを確認したい。 単にいくつかの新しいクラスにドロップ! たぶん私はあまりそこに少し夢を見ています ![]()
" デバッグ "、オンまたはオフには、これはケースのsensetiveです、と私はJavaのシェルをデバッグしたい場合はいくつかの良い情報を与えるだろうと思います。 まだ私は付与されません。
" スレッド " は 、これは"ps"の実行中のプロセスを取り、私たちに何が実行されているかについて、より多くの情報を提供します。 私はすぐに過ぎるこの出力で使用するのを見ることができない。 迅速なスニップ出力。
" モニター " は 、" ヒープ "、私は正直にわからない。 どちらか私は十分にJavaを知らない、またはこの情報は非常に多くのデバッグレベルのものです。 私は、そのヒープが既存または使用可能なシステムハンドルとそれらの関連する大きさを示すと思うが、それは正直に言うと野生の刺しです。 情報の多くは、とにかくそこだ!
このコマンドから期待するまさに" バージョン "、。 興味深いことに、バージョン番号はリリース候補として定義されています!
"syncdbは "、再び私はわからない恐れている。 私は、これはシェルがヒープスタックのためにおそらく、保持しているデータベースのいくつかの並べ替えを更新することを期待する?
拡張子"- s"または"- K"を含む" デュ "、。 これは私たちに、ディスクの使用状況を示しています。 しかし注意して、このコマンドはなくなり、すべてのコンテンツを追加しますので、しばらく時間がかかるし、^ C一度開始していないことを覚えてできる! 特定の(そしてできればサイズの小さいもの)ディレクトリまたはファイルのセットで、このシンプルでポイントをおいてください。 ここでも、ワイルドカードは、(このコマンドの本当の恥となる)は許可されません。
それは潜在的に非常に非常に涼しい得ることができる場所"JAVA_CLASS"、これです。 これは、我々は外部のクラス、どこかに" クラスパス "内に存在する可能性のあるものを呼び出すことができるという理論を与えるだろう。 私は可能性は考えている、あるいはどのようにチェックを開始する。 次回のもの!
そして最後に、任意の通常のNetAppのコマンドを実行するJavaのシェルを使用することができます。
だから、Javaのシェル内で使用可能かどうかで迅速なクラッシュコースです。 外箱のそこにいくつかの有用なツールもありますが、本当の可能性は我々がこれで何ができるかです。
おそらく非常に危険な、完全にサポートされていない、覚えているが、楽しみの多くは、努力!










































すてきな記事