GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Embed Notice

HTML Code

Corresponding Notice

  1. Embed this notice
    zunda (zundan@mastodon.zunda.ninja)'s status on Sunday, 24-Dec-2023 09:48:18 JSTzundazunda
    in reply to
    • かき@GNUsocialJP

    僕の使っているコマンドラインツールの #ひかえめなアドベントカレンダー2023 12月23日分はstraceです。Linuxでシステムコールを記録してもらいます。コードを読まずに設定ファイルのパスなどを知ることができます。

    rbenvで管理しているRubyを起動してみます。-ffで子プロセスごとに記録先のファイルを作ってもらいます。-oで指定した名前にプロセスIDを追加してくれます。

    $ strace -e trace=file -ff -o ruby.strace ruby -e 'puts "Hello, World!"'
    Hello, World!

    けっこうたくさんプロセスを作るんだねえ!

    $ ls -1 ruby.strace.*
    ruby.strace.193452
    :
    ruby.strace.193477

    今回は記録の多いものを覗いてみます。

    $ wc -l ruby.strace.* | sort -nr | head -3
    :
    1757 ruby.strace.193452
    90 ruby.strace.193474
    $ cat ruby.strace.193452
    execve("/home/zunda/.rbenv/shims/ruby", ["ruby", "-e", "puts \"Hello, World!\""], 0x7fffa148ef88 /* 28 vars */) = 0
    :
    openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
    openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
    execve("/home/zunda/.rbenv/shims/bash", ["bash", "/home/zunda/.rbenv/shims/ruby", "-e", "puts \"Hello, World!\""], 0x7ffe09972058 /* 28 vars */) = -1 ENOENT (No such file or directory)
    :

    ~/.rbenv/shims/rubyはbashスクリプトなんだねえ!(びっくりしてばかり)

    In conversationSunday, 24-Dec-2023 09:48:18 JST from mastodon.zunda.ninjapermalink
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.