タグ

Linuxと時間に関するiwwのブックマーク (11)

  • date コマンドで日時のミリ秒単位まで表示する - Qiita

    date コマンドの出力フォーマットに %N を指定するとナノ秒が表示できる。ミリ秒を表示するには上位3桁分だけ表示するように %3N を指定すればいい。 %N は GNU Coreutils の拡張なので GNU ではない date コマンドでは使えない。 GNU Coreutils: Time conversion specifiers ‘%N’ nanoseconds (‘000000000’…‘999999999’). This is a GNU extension. 例えば以下のシェルスクリプトでは「年月日_時分秒_ミリ秒」のフォーマットで日時を表示することができる。

    date コマンドで日時のミリ秒単位まで表示する - Qiita
  • cronの特定のタスクを即座に実行する方法

    Debian / Ubuntu なら faketime というパッケージが標準で用意されており、これを用いれば faketime 下で動作するプロセスの日時や時間の進む速さを騙すことができます。 $ sudo apt-get install faketime $ faketime -f x10 bash -c 'while :; do sleep 1; date;done' これが利用できるかと手元の cron を faketime を介して起動させてみたのですが、 残念ながら騙せませんでした。 cron ジョブを即座に実行する方法ではありませんが、bash の rc によって設定される環境を利用して cron ジョブを実行したいのであれば、bash に -l オプションを付与してログインシェルとして起動するようにしてみてください。 30 12 * * 1-5 bash -lc 'expo

    cronの特定のタスクを即座に実行する方法
    iww
    iww 2017/02/24
    結局うまい方法は無い という話
  • historyをカスタマイズ!! - Studio3104::BLOG.new

    とは言っても、Ubuntu様の.bashrcをほぼそのまま使ってます。 Ubuntuはかゆいところに手が届く設定が最初から随所にされているので当に素晴らしい。 他にも、「こんなの便利だよ!」とかあったら教えてもらいたい。 # don't put duplicate lines in the history. See bash(1) for more options # ... or force ignoredups and ignorespace HISTCONTROL=ignoredups:ignorespace # Include a time stamp on history HISTTIMEFORMAT='%m/%d %T ' # append to the history file, don't overwrite it shopt -s histappend # for se

    historyをカスタマイズ!! - Studio3104::BLOG.new
    iww
    iww 2015/06/03
    HISTTIMEFORMATを設定すると、HISTCONTROL=ignoredupsが効かなくなる。 これはどうしたらいいんだろう
  • Linuxカーネルを2038年問題に対応させるには

    System call conversion for year 2038 [LWN.net] lwn.netLinuxカーネルを2038年問題に対応させるにはという記事が公開されている。 32bitLinuxカーネルのtime_tはsigned 32 bitなので、現行の32bitLinuxカーネルをそのまま使い続けるシステムは、2038年問題の影響を受ける。 問題の日付が近づくにつれ、32bitシステムは様々な楽しげな理由により障害を起こすことが予測されるので、今日のLWN読者は、退職から呼び戻されて、紀南を救うために英雄的な活躍をするだろう。今対策をしなければの話だが。 さて、32bit Linuxカーネルでも、time_tなどの時間の表現に64bitの値を使えば2038年問題は解決できるか。実は、問題はそれほど単純ではない。 カーネル内部の時間表現を64bitに移行するだけでは

    iww
    iww 2015/05/20
    NTPは2036年問題だった気がしたけど、2年くらい誤差だな
  • sshの接続確立が遅い場合の対処方法 - yuyarinの日記

    140文字で収まらなかったので. ssh でログインはできる(認証は成功している)し操作も普通に行える(RTTが正常な範囲)けど,ログインできるまでに(パスワード認証の場合はユーザ名やパスワードを聞かれるまでに)非常に時間がかかるような場合の原因と対処方法を記しておく.こうした現象は主に何らかの方法に挑戦して失敗・タイムアウトしていることが原因である. クライアントの名前解決が原因 クライアントの名前解決ができなくて時間がかかっている.サーバ側での設定変更が主. ssh サーバの /etc/hosts にクライアントの設定を書く 名前解決ができないので ssh クライアントの直接名前を設定してあげる.個別対応なのであまり良い解決策ではないが,やむを得ない場合はこの方法. 192.168.0.2 ssh-client.example.com 192.168.0.2 がクライアントの IP ア

    sshの接続確立が遅い場合の対処方法 - yuyarinの日記
  • Man page of NANOSLEEP

    Section: Linux Programmer's Manual (2) Updated: 2017-09-15 Index JM Home Page roff page 名前 nanosleep - 高精度なスリープ 書式 #include <time.h> int nanosleep(const struct timespec *req, struct timespec *rem); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): nanosleep(): _POSIX_C_SOURCE >= 199309L 説明 nanosleep() は、少なくとも *req で指定された時間の間、プログラムの実行を遅延させる。 nanosleep() は、呼び出したスレッドの実行を、 少なくとも *req で指定された時間の間、もしくは呼び出

    iww
    iww 2015/02/13
    『*rem の値を使うと、 nanosleep() をもう一度呼び出して、指定した時間の停止を 完了させることができる』 『割り込み後に繰り返し再開された場合、 nanosleep() の停止が相対的な期間であることは問題となることがある。』
  • 試験管のなかのコード :: Linux で起動してからの時間を調べる方法

    Linux で起動してからの時間を調べる方法 Linux が起動してから経過した時間を調べる方法をメモ。 起動後の経過時間は /proc/uptime から取得することができる。 # cat /proc/uptime 2700777.74 2676642.02 一つめの値が起動後の経過時間を秒数で表した数値となる。 後は電卓を叩いて日数や時間数に換算すれば良い。 電卓を起動するのが面倒な場合は AWK で計算しても良い。 # cat /proc/uptime | awk '{print $1 / 60 /60 /24 "days (" $1 "sec)"}' 31.2591days (2700784.86sec) ただしこの値、32bit でカウントされているために 500 日程度でリセットされてしまうらしい。 (ともちゃ日記さんの [Linux] uptime より) Manpage o

  • ファイルディスクリプタについて(3) ~タイマー用ディスクリプタ「timerfd」の特徴

    ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第3回は、設定時間をファイルディスクリプタ経由で通知する「timerfd」を紹介します。 はじめに 前回は、イベント用ファイルディスクリプタ「eventfd」の使用法や特徴を説明しました。今回は、時間を通知するファイルディスクリプタ「timefd」について解説していきたいと思います。 連載概要 この連載は、次のような内容について述べていく予定です。 連載目次 第1回:ディスクリプタの概要 第2回:イベント用ディスクリプタ「eventfd」の特徴 第3回:タイマー用ディスクリプタ「timerfd」の特徴 第4回:シグナル用デ

    ファイルディスクリプタについて(3) ~タイマー用ディスクリプタ「timerfd」の特徴
  • 経過時間の計測方法

    最近、スクリプト言語の恩恵により、C で書く機会というのは滅多にないのですが、ふと経過時間測定のための bash 用 builtin を書きたいと思い、その基礎として、現在の Linux で利用できるインタフェースについて調べました。 わたしの過去の C プログラミング経験 (某UNIX,10年くらい前) では、経過時間の計測には gettimeofday() を使っていました。たぶんそれしか無かった (?) ので。 しかし、その場合、システム時間が遡ってしまう可能性 (システム管理者が日時設定する時など) を考慮する必要があります。 2011-11-06追記、省みると、その当時,その UNIX でも times() はあったでしょうから、わたしが無知だったということですね。wrap への考慮は必要としても。 調べてみると、現在の Linux であれば、clock_gettime(CLOC

  • Man page of TIMERFD_CREATE

    iww
    iww 2011/12/25
    なんだこれ便利そう
  • ローカルタイムの設定

    ローカルタイムの設定 [サーバの実験室 Slackware] 作成 : 2002/12/31 "サーバの実験室"の検索 システム時間がヘン date を実行すると、"Tue Dec 31 17:30:00 ifLocal time zone must be set -- see zic manual page2002" と表示される。 ログインしたときに表示される Last login メッセージも、"Last login: Tue Dec 31 17:30:00 +0000 2002 on tty1" だし。 日時間に合わせたシステムだと、"Tue Dec 31 17:30:00 JST page2002" とか "Last login: Tue Dec 31 17:30:00 +0900 2002 on tty1" になっている。 ローカルタイムを設定しないといけないのかな。 どこで

  • 1