<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     >
  <channel>
    <title>mojavy.com</title>
    <link>http://mojavy.com/blog</link>
    <description></description>
    <pubDate>Sun, 16 Feb 2014 18:35:51 GMT</pubDate>
    <generator>Blogofile</generator>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>シェルスクリプトでプロセスの多重起動を防止する簡単で安全な方法</title>
      <link>http://mojavy.com/blog/2014/02/16/shell-script-ensure-one-process/</link>
      <pubDate>Sun, 16 Feb 2014 18:35:51 JST</pubDate>
      <category><![CDATA[unix]]></category>
      <category><![CDATA[shell]]></category>
      <guid isPermaLink="true">http://mojavy.com/blog/2014/02/16/shell-script-ensure-one-process/</guid>
      <description>シェルスクリプトでプロセスの多重起動を防止する簡単で安全な方法</description>
      <content:encoded><![CDATA[<p><code>flock(1)</code>を使うのが一番安全かつ簡単</p>
<div class="pygments_borland"><pre><span class="nv">LOCKFILE</span><span class="o">=</span>/tmp/my.lockfile

<span class="o">(</span>
    flock -n 200 <span class="o">||</span> <span class="nb">exit </span>1

    <span class="c"># do something</span>
<span class="o">)</span> 200&gt;<span class="nv">$LOCKFILE</span>
</pre></div>

<p>タイムアウトを設定したければ<code>-w</code>オプションをつかえばよい。</p>
<p>リードライトロックとしてつかえるので、更新系のスクリプトは1つしか起動したくないけど参照系は並列実行を許す、みたいなことも比較的簡単にできる。</p>]]></content:encoded>
    </item>
    <item>
      <title>Mac OSXでシェルスクリプトをキーボードショートカットに登録する方法</title>
      <link>http://mojavy.com/blog/2013/03/28/mac-shell-script-keyboard-shortcut/</link>
      <pubDate>Thu, 28 Mar 2013 02:50:01 JST</pubDate>
      <category><![CDATA[mac]]></category>
      <category><![CDATA[shell]]></category>
      <category><![CDATA[tips]]></category>
      <guid isPermaLink="true">http://mojavy.com/blog/2013/03/28/mac-shell-script-keyboard-shortcut/</guid>
      <description>Mac OSXでシェルスクリプトをキーボードショートカットに登録する方法</description>
      <content:encoded><![CDATA[<p><img alt="automator" src="/images/automator.png" /></p>
<p>概要を以下にメモ</p>
<ol>
<li>Automatorを起動</li>
<li>サービスを選択</li>
<li>右ペインの上部、「次の選択項目を受け取ります」を入力なしにする</li>
<li>左ペインからシェルスクリプトを実行をダブルクリック</li>
<li>デフォルトで<code>cat</code>になっている内容を任意のシェルスクリプトにする</li>
<li>右上の実行ボタンからテスト</li>
<li>適当な名前をつけて保存して閉じる</li>
<li>システム環境設定＞キーボードを開く</li>
<li>キーボードショートカットのタブを選択</li>
<li>サービスを選択してさっき保存したautomatorの名前をみつける</li>
<li>好きなショートカットを設定する</li>
</ol>
<p>参考: <a href="http://superuser.com/questions/45740/fast-user-switching-apple-menu/46308#46308">http://superuser.com/questions/45740/fast-user-switching-apple-menu/46308#46308</a></p>
<h4 id="_1">備考</h4>
<ul>
<li>新規作成したworkflowは保存して閉じるまでシステム設定のキーボードショートカットの項目に反映されない</li>
<li>workflowは$HOME/Library/Services に保存される</li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>
