第 2 章 ファイルシステム・基本的なコマンド 23
2.5 画像に関するコマンド
2.5.1 convertコマンド
convertコマンドは,画像のサイズや形式を変換するコマンドです.
16これで消えないプロセスには,「kill -KILL [プロセスID]」が有効かもしれません.
¶ 実行例 ³
$ convert piture1.png picture2.eps
↑PNG形式のpicture1.pngをEPS形式に変換して,picture2.epsとして保存
$ convert -resize 50% piture1.png picture3.png
↑picture1.pngのサイズを縦横ともに50%に縮小してpicture3.pngとして保存
$ convert -resize 512x512 piture1.png picture4.png
↑picture1.pngのサイズを縦横比を保ったまま,512x512のサイズに収まるように picture4.pngとして保存
$ convert -resize 512x512! piture1.png picture5.png
↑picture1.pngのサイズを縦横比を保たずに,512x512のサイズにしてpicture5.png として保存
µ ´
2.6 「バックグラウンドプロセス」について
UNIXでは複数のプログラムを同時に動かすことができますが,あるプログラムを別の プログラムの「裏で」実行することを特に「バックグラウンドで実行する」と言います(こ の反対に,普通にプロンプトからコマンド名を入力して「表で」動かすことを「フォアグ ラウンドで実行する」と言います).この「プログラムをバックグラウンドで動かす」方法 にはいくつかあります.
起動時からバックグラウンドで動かす
プログラムを実行する際に,コマンド行の最後に「&」記号をつけます.
¶ 実行例 ³
$ ./program1>result file &
↑例えば,時間のかかるプログラムに「&」をつけて実行.
[1] 6809 ← job 番号とプロセスID が表示される.
$ ← 実行の終了を待たずに次のプロンプトが出る.
[1] Done program1> result_file
↑ 終了の合図
µ$ ´
実行中にバックグラウンドに切り替える
コマンドプロンプトからコマンド名を入力して実行させたプロセスは,¤£control¡¢+¤ ¡£ ¢zの 入力により「中断」させることができます17.中断させた後はコマンドプロンプトが出ま
17「終了」ではありませんので注意してください.また中断なので処理は行われてはいません.
表2.7: jobs,fg,bg,killコマンドの説明
jobs 現在中断,あるいはバックグラウンドで実行されているjobの状態 とjob番号を表示します.
fg %[job番号] job 番号で指定したjob をフォアグラウンドで実行します.
bg %[job番号] job 番号で指定したjob をバックグラウンドで実行します.
kill %[job番号] job 番号で指定したjob を強制終了します.
すので,その状態で他の作業をすることができますし,「jobs」「fg」「bg」「kill」の各コマ ンドで中断させたプロセスを操作することができます(表2.7).なお,「fg」と「bg」コマ ンドについては「%」がなくても使用できます.
次のページに使用例を示します.
¶ 実行例 ³ ターミナル
¶ ³
$ lv file ← コマンド実行開始.
µ ´
↓ターミナルの表示内容が切り替わる.
lv fileの実行画面
¶ ³
tsukuba
kenkyu-gakuen bampaku-kinenkoen midorino
~
~ file:
µ ´
↓¤£control¡¢+¤ ¡£ ¢Zで中断.
ターミナル
¶ ³
[1]+ Stopped lv file ←lvコマンドが中断された.
$ jobs ← 実行中のジョブを見てみる.
[1]+ Stopped lv file ←lvコマンドが中断された.
$ fg %1 ← lvコマンドをフォアグラウンドに.
µ ´
↓ターミナルの表示内容が切り替わる.
lv fileの実行画面
¶ ³
tsukuba (中略) file:
µ ´
↓再び¤£control¡¢+¤ ¡£ ¢Zで中断.
ターミナル
¶ ³
[1]+ Stopped lv file2 ←再びlvコマンドが中断された.
$ kill %1 ← ジョブを強制終了.
[1]+ Terminated lv file2 ←強制終了された.
µ ´
µ ´
複数のプログラムをバックグラウンドで動かすことももちろんできます.
注意事項
ログアウトする際に,「余計なプロセスやjob が残ってないか確認する」ようにしてく ださい.特に,Emacsなどはきちんと終了処理をしてからログアウトしないと,ログアウ ト後もプロセスが居座ってしまい,計算機が遅くなって,後からその計算機を使用する人 に迷惑がかかることがあります18.