自炊のフィルター処理を GIMP でバッチ化できたが、複数の CPU がある場合、有効活用できていない。そんなのい・や・だ!
というわけで、バッチのマルチスレッド化に着手してみた。
基本コンセプトは、バッチ処理をキュー化し、キューを処理するバッチを並列で起動する。
バッチは、すべて windows 標準機能だけで動作するようになっている。
Java とか使えば、もっとシンプルになるのだが、バッチでやることに意味があるのだよ。フッフッフ・・・
2012年2月26日日曜日
Windows でファイルやフォルダをつかんでいるプロセスを調べる
Windows でファイルやフォルダをつかんでいるプロセスを調べる
超備忘録
Process Explorer を起動
「Find」メニューから「Find Handle or DLL...」を選択
「Handle or DLL substring」欄に、ファイル名やディレクトリ名を入力
超備忘録
Process Explorer を起動
「Find」メニューから「Find Handle or DLL...」を選択
「Handle or DLL substring」欄に、ファイル名やディレクトリ名を入力
2012年2月5日日曜日
Ant でファイル(ワイルドカード指定)の存在をチェックするタスクを書く
Ant タスクで、ワイルドカード指定してファイルの存在チェックを行いたくなった。
Ant 1.7 以降なら、以下の方法で実現可能である。(ファイルは UTF-8 で保存すること)
【build.xml】
Ant 1.7 以降なら、以下の方法で実現可能である。(ファイルは UTF-8 で保存すること)
【build.xml】
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyProject" default="main" basedir=".">
<!-- 検索対象ディレクトリを設定 -->
<property name="src" location="src"/>
<!-- 最初に呼び出される。init および caution を事前に呼び出す -->
<target name="main" depends="init, caution" />
<!-- 指定ファイルが存在したら、"caution"プロパティをセットする -->
<target name="init">
<!-- 条件を満たしたら、"caution" プロパティがセットされる -->
<condition property="caution">
<!-- リソース数をカウントし、0件より多かったら true となる -->
<resourcecount when="greater" count="0">
<!-- src 以下全ディレクトリの"Abstract*.java"ファイルをカウント対象とする -->
<fileset dir="${src}" includes="**/Abstract*.java" />
</resourcecount>
</condition>
</target>
<!-- "caution"プロパティが設定されている場合、実行される -->
<target name="caution" if="caution">
<fileset id="files" dir="${src}" includes="**/Abstract*.java" />
<pathconvert pathsep="${line.separator}" property="filelist" refid="files" />
<fail message="以下の Abstract ファイルが含まれています${line.separator}${filelist}" />
</target>
</project>
2012年1月3日火曜日
dnsmasq の設定
ローカルネットワーク内のホスト名を引くための、DNSプロキシとして dnsmasq を設定する。
dnsmasq をインストール
$ sudo aptitude install dnsmasq
設定ファイルを修正
$ sudo vi /etc/dnsmasq.conf
local=/localnet/
no-dhcp-interface=eth0
cache-size=500
保存して終了
このマシンの DNS 設定に dnsmasq を加える
$ sudo vi /etc/dhcp3/dhclient.conf
prepend domain-name-servers 127.0.0.1
保存して終了
上記設定を行うと、/etc/resolv.conf が自動生成されるときに、nameserver 127.0.0.1 が追加される。
hosts にローカルネットワークのマシンを定義
$ sudo vi /etc/hosts
127.0.0.1 localhost pc1
192.168.1.101 pc1
192.168.1.102 pc2
保存して終了
dnsmasq を起動
$ sudo /etc/init.d/dnsmasq restart
ネットワーク(eth0)を再起動
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up
他の PC から ping ができたら完了。
dnsmasq をインストール
$ sudo aptitude install dnsmasq
設定ファイルを修正
$ sudo vi /etc/dnsmasq.conf
local=/localnet/
no-dhcp-interface=eth0
cache-size=500
保存して終了
このマシンの DNS 設定に dnsmasq を加える
$ sudo vi /etc/dhcp3/dhclient.conf
prepend domain-name-servers 127.0.0.1
保存して終了
上記設定を行うと、/etc/resolv.conf が自動生成されるときに、nameserver 127.0.0.1 が追加される。
hosts にローカルネットワークのマシンを定義
$ sudo vi /etc/hosts
127.0.0.1 localhost pc1
192.168.1.101 pc1
192.168.1.102 pc2
保存して終了
dnsmasq を起動
$ sudo /etc/init.d/dnsmasq restart
ネットワーク(eth0)を再起動
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up
他の PC から ping ができたら完了。
Ubuntu で RAID10 の故障ハードディスクを取替え
RAID 復旧作業の備忘録
以前、RAID 復旧作業で、HDD のパーティションを切ることができず、ドライブ丸ごと RAID に突っ込んだ苦い失敗を、ここで挽回する。
今回、2度目の HDD 故障となり、HDD を Amazon でポチることにした。しかし容量が 2T のものしかなかったので、現在の 1.5T 構成だと、500GB 無駄になることになる。
さすがに、500GB 無駄になるのは、甚だ遺憾なので、真面目に対処することにした。
前回の失敗を振り返ると、、「GUI での設定方法がよく分かっていなかった」ことに尽きる。
そこらへんを重点的に攻略していこうと思ったが、やはり GUI では、思ったように設定できないようだ。
以前、RAID 復旧作業で、HDD のパーティションを切ることができず、ドライブ丸ごと RAID に突っ込んだ苦い失敗を、ここで挽回する。
今回、2度目の HDD 故障となり、HDD を Amazon でポチることにした。しかし容量が 2T のものしかなかったので、現在の 1.5T 構成だと、500GB 無駄になることになる。
さすがに、500GB 無駄になるのは、甚だ遺憾なので、真面目に対処することにした。
前回の失敗を振り返ると、、「GUI での設定方法がよく分かっていなかった」ことに尽きる。
そこらへんを重点的に攻略していこうと思ったが、やはり GUI では、思ったように設定できないようだ。
2011年12月30日金曜日
サウンド設定パネルを開くコマンド
C:\Windows\System32\rundll32.exe Shell32.dll,Control_RunDLL mmsys.cpl,,0
本当は、自動で、再生デバイスの規定値を変更したかったのだが、断念。
本当は、自動で、再生デバイスの規定値を変更したかったのだが、断念。
2011年9月11日日曜日
/boot が一杯になったら
/boot 領域が古いカーネルで一杯になった。
こういう場合は、古いカーネルを削除する必要がある。
とりあえず /boot ディレクトリをのぞいてみる。
$ ls /boot
System.map-2.6.31-20-generic
System.map-2.6.32-23-generic
System.map-2.6.32-24-generic
System.map-2.6.32-25-generic
System.map-2.6.32-30-generic
abi-2.6.31-20-generic
abi-2.6.32-23-generic
abi-2.6.32-24-generic
abi-2.6.32-25-generic
abi-2.6.32-30-generic
config-2.6.31-20-generic
config-2.6.32-23-generic
config-2.6.32-24-generic
config-2.6.32-25-generic
config-2.6.32-30-generic
grub
initrd.img-2.6.31-20-generic
initrd.img-2.6.32-23-generic
initrd.img-2.6.32-24-generic
initrd.img-2.6.32-25-generic
initrd.img-2.6.32-30-generic
lost+found
memtest86+.bin
vmcoreinfo-2.6.31-20-generic
vmcoreinfo-2.6.32-23-generic
vmcoreinfo-2.6.32-24-generic
vmcoreinfo-2.6.32-25-generic
vmcoreinfo-2.6.32-30-generic
vmlinuz-2.6.31-20-generic
vmlinuz-2.6.32-23-generic
vmlinuz-2.6.32-24-generic
vmlinuz-2.6.32-25-generic
vmlinuz-2.6.32-30-generic
うわぁ~ ギョウサンおるのぉ~
インストールされているカーネルを調べる
$ dpkg -l | grep linux-image
rc linux-image-2.6.31-14-generic 2.6.31-14.48 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-20-generic 2.6.31-20.58 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.32-23-generic 2.6.32-23.37 Linux kernel image for version 2.6.32 on x86
ii linux-image-2.6.32-24-generic 2.6.32-24.43 Linux kernel image for version 2.6.32 on x86
ii linux-image-2.6.32-25-generic 2.6.32-25.45 Linux kernel image for version 2.6.32 on x86
ii linux-image-2.6.32-30-generic 2.6.32-30.59 Linux kernel image for version 2.6.32 on x86
ii linux-image-generic 2.6.32.30.36 Generic Linux kernel image
直近の2つ以外を削除することにする。
$ sudo apt-get remove --purge linux-image-2.6.31-14-generic linux-image-2.6.31-20-generic linux-image-2.6.32-23-generic linux-image-2.6.32-24-generic
パッケージ linux-image-2.6.31-14-generic はインストールされていないため、削除はできません
と文句を言われました・・・なんだべな?
と思ったら、 dpkg の一覧で、rc ってなっていて、調べてみると、削除済みで、設定だけが残っているものらしい。設定消すのどうやるの?わからんので放っておく。
その他のカーネルを削除すると、めでたく /boot の空き容量が増えましたとさ。
どうやら、最近は、/boot なんぞ作らなくていいらしい。RAID 上に OS をインストールする都合上、手動でパーティション作成をしたので、何にも考えずに /boot を作成していたよ・・・・
【2012/03/17】 残っている設定ファイルを、消す方法が分かった。
dpkg --purge コマンドで設定ファイルを削除できた。
まず、現状こんな感じ。
$ dpkg -l | grep linux-image
rc linux-image-2.6.31-14-generic 2.6.31-14.48 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.32-38-generic 2.6.32-38.83 Linux kernel image for version 2.6.32 on x86
ii linux-image-generic 2.6.32.38.44 Generic Linux kernel image
設定ファイル(linux-image-2.6.31-14-generic)を削除してみる。
$ sudo dpkg --purge linux-image-2.6.31-14-generic
(データベースを読み込んでいます ... 現在 233343 個のファイルとディレクトリがインストールされています。)
linux-image-2.6.31-14-generic を削除しています ...
linux-image-2.6.31-14-generic の設定ファイルを削除しています ...
Running postrm hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-38-generic
Found initrd image: /boot/initrd.img-2.6.32-38-generic
Found memtest86+ image: /memtest86+.bin
done
で、こうなった。
$ dpkg -l | grep linux-image
ii linux-image-2.6.32-38-generic 2.6.32-38.83 Linux kernel image for version 2.6.32 on x86
ii linux-image-generic 2.6.32.38.44 Generic Linux kernel image
スッキリ!
こういう場合は、古いカーネルを削除する必要がある。
とりあえず /boot ディレクトリをのぞいてみる。
$ ls /boot
System.map-2.6.31-20-generic
System.map-2.6.32-23-generic
System.map-2.6.32-24-generic
System.map-2.6.32-25-generic
System.map-2.6.32-30-generic
abi-2.6.31-20-generic
abi-2.6.32-23-generic
abi-2.6.32-24-generic
abi-2.6.32-25-generic
abi-2.6.32-30-generic
config-2.6.31-20-generic
config-2.6.32-23-generic
config-2.6.32-24-generic
config-2.6.32-25-generic
config-2.6.32-30-generic
grub
initrd.img-2.6.31-20-generic
initrd.img-2.6.32-23-generic
initrd.img-2.6.32-24-generic
initrd.img-2.6.32-25-generic
initrd.img-2.6.32-30-generic
lost+found
memtest86+.bin
vmcoreinfo-2.6.31-20-generic
vmcoreinfo-2.6.32-23-generic
vmcoreinfo-2.6.32-24-generic
vmcoreinfo-2.6.32-25-generic
vmcoreinfo-2.6.32-30-generic
vmlinuz-2.6.31-20-generic
vmlinuz-2.6.32-23-generic
vmlinuz-2.6.32-24-generic
vmlinuz-2.6.32-25-generic
vmlinuz-2.6.32-30-generic
うわぁ~ ギョウサンおるのぉ~
インストールされているカーネルを調べる
$ dpkg -l | grep linux-image
rc linux-image-2.6.31-14-generic 2.6.31-14.48 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-20-generic 2.6.31-20.58 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.32-23-generic 2.6.32-23.37 Linux kernel image for version 2.6.32 on x86
ii linux-image-2.6.32-24-generic 2.6.32-24.43 Linux kernel image for version 2.6.32 on x86
ii linux-image-2.6.32-25-generic 2.6.32-25.45 Linux kernel image for version 2.6.32 on x86
ii linux-image-2.6.32-30-generic 2.6.32-30.59 Linux kernel image for version 2.6.32 on x86
ii linux-image-generic 2.6.32.30.36 Generic Linux kernel image
直近の2つ以外を削除することにする。
$ sudo apt-get remove --purge linux-image-2.6.31-14-generic linux-image-2.6.31-20-generic linux-image-2.6.32-23-generic linux-image-2.6.32-24-generic
パッケージ linux-image-2.6.31-14-generic はインストールされていないため、削除はできません
と文句を言われました・・・なんだべな?
と思ったら、 dpkg の一覧で、rc ってなっていて、調べてみると、削除済みで、設定だけが残っているものらしい。設定消すのどうやるの?わからんので放っておく。
その他のカーネルを削除すると、めでたく /boot の空き容量が増えましたとさ。
どうやら、最近は、/boot なんぞ作らなくていいらしい。RAID 上に OS をインストールする都合上、手動でパーティション作成をしたので、何にも考えずに /boot を作成していたよ・・・・
【2012/03/17】 残っている設定ファイルを、消す方法が分かった。
dpkg --purge コマンドで設定ファイルを削除できた。
まず、現状こんな感じ。
$ dpkg -l | grep linux-image
rc linux-image-2.6.31-14-generic 2.6.31-14.48 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.32-38-generic 2.6.32-38.83 Linux kernel image for version 2.6.32 on x86
ii linux-image-generic 2.6.32.38.44 Generic Linux kernel image
設定ファイル(linux-image-2.6.31-14-generic)を削除してみる。
$ sudo dpkg --purge linux-image-2.6.31-14-generic
(データベースを読み込んでいます ... 現在 233343 個のファイルとディレクトリがインストールされています。)
linux-image-2.6.31-14-generic を削除しています ...
linux-image-2.6.31-14-generic の設定ファイルを削除しています ...
Running postrm hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-38-generic
Found initrd image: /boot/initrd.img-2.6.32-38-generic
Found memtest86+ image: /memtest86+.bin
done
で、こうなった。
$ dpkg -l | grep linux-image
ii linux-image-2.6.32-38-generic 2.6.32-38.83 Linux kernel image for version 2.6.32 on x86
ii linux-image-generic 2.6.32.38.44 Generic Linux kernel image
スッキリ!
登録:
投稿 (Atom)