サブシェル・サブプロセスに fork で引き継がれるかではなくサブプロセスでの変更が親に波及したら サブシェルの意味がないよねみたいな
サブシェル・サブプロセスに fork で引き継がれるかではなくサブプロセスでの変更が親に波及したら サブシェルの意味がないよねみたいな
fd は fork(2) しただけだと引き継ぐのと、exec(1) は
> If exec is specified without command or arguments, and any file descriptors with numbers greater than 2 are opened with associated redirection statements, it is unspecified whether those file descriptors remain open when the shell invokes another utility.
https://pubs.opengroup.org/onlinepubs/000095399/utilities/exec.html
なのでまあ、というところそう
さすがにいくつかの開発者コマンド、たとえば sccs のような太古のヴァージョン管理システムなど POSIX に収録されてるけど……みたいなコマンドはだれも要請してないしたぶんだれも最近の実装に収録してない
POSIX はコマンドの存在を必ずしも要請しないせど、POSIX のスーパーセットになっている SUS (Single Unix Specification) は Unix 商標を名乗る認定のための規格なのでいくつかのコマンドや POSIX では optional になっている規定に互換した実装であることは要請する
このアカウントは、notestockで公開設定になっていません。
@zetamatta https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
いくつかのよくあるコマンド、たとえば pushd などはそのコマンドを打たれたときの挙動は POSIX 的には unspecified なので、shell がスタックに cwd を積んでもいいし、外部コマンドが cwd を覚えてもいいし、鼻から悪魔が出てきてもそれは POSIX としては合法、ということになります(C 言語が様々な計算機アーキテクチャで合法な存在であるために負数が二の補数かどうかみたいな基本的なところまで含めて実装依存や undefined behavior 扱いにするのと同じ
@kb10uy 真の外部コマンドでも wordexp(3) で parse & split した argv を system(3) or popen(3) に喰わせるのが POSIX shell 的振舞いな気がする(system(3) も POSIX 的には sh -c arg... になることを規定しているはずだし
@zetamatta POSIX は先立って存在して守らなければならない規約、ではなく、既にあるものを現状追認して「これとこれとこれは最大公約数的にどの Unix/Unix like 環境にもあるはずなのでこの範囲の機能に限って使えば移植性が高まる可能性は極めて高いよ」という性質のものなので、とくに特定のコマンドを executable として用意させる要請をするものではないですね。
@kb10uy 外部コマンドを起動する shell のプロセス自体が値を覚えていればいいのでなんとでもなりそう?どうかな
Le Mans 24h 題材の映画は『Ford v. Ferrari』もかなりよかったのでオススメしたい、史実からの脚色や時系列の再構成もまあまああるけどそこはエンタメってことで
このアカウントは、notestockで公開設定になっていません。
@kb10uy なるほど。それはそれとして、跨がないのって fork して exec すればイチからなんだからカレントワーキングディレクトリ以外持ち越すほうが難しそうな気がするし、cwd/pwd にしても持ち越すかどうかでいえば普通に親から分裂した時点のディレクトリそのままつかわない?
スレッド間調停は pthread で mutex でもなんでも作れるからいいけど、メモリ空間跨いだ調停をするときはグローバルにステート持たせる関係上ファイルシステムや共有メモリでロック取るしかないから必然ああなるのだけれども
ふとおもったけどそもそもファイルアドヴァイザリーロックとか、名前付きパイプとかそういったものがコマンドにあるのもシステムコールにあるのもそもそも認知されてなさそうな気がしてくる
Unix v6 までは cd(1) が存在しなくて bourne shell に chdir でハードコードされてたせいで素で Unix v6 使うとやや手馴染みが悪い(が、cd に書き換えて recompile すればよいはなしではある
そもそもファイルのアドヴァイザリーロックはからくりもなにも POSIX にある Unix 標準なシステムコールの機能というか
@zetamatta ポジショントークがあること自体は任意のメディアがそうなのでインターネットメディアでも何ら変わりないですが、主要紙はスタンスがはっきりわかりやすいので変に漂白して上っ面装われるよりは相手にしやすい気はします
@zetamatta 基本的に、コタツ記事はどれもインターネットニューサイト以下だけど、足で稼いできた記事は新聞社のネットワークと資力だからできる取材力と信頼性、というところだと思うので、地方紙はともかく主要紙は(保守色、リベラル色、それぞれバイアスがあることを差っ引きながら読むぶんには)以前それなりの力と体力はあると思ってもいいという気はします
@zetamatta 朝日新聞は左派紙なのもありインターネットでは無条件で先入観持たれがちですが、国際面とかは中々のものなので紙面にもよりますね。日経も飛ばし記事やオジサマ向けの一面の雑な二週遅れの技術噛み砕き記事とかは噴飯モノですが、工業・経済ネタで光るところもあるのでこれまた、毎日や読売も似たりよったりですし、というところ
仮に、本当にどうしても複雑な手続き型のコーディングみたいなことをしたくてそうなってたのなら、そもそも shell script やめて Perl なり Python なり Ruby なり使うほうがよい
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
あと HHKB Professinal は Yang 式カスタム BLE コントローラーにそこらで買ってきた Li-Po バッテリーつないでつかっている
オフィスで使ってる TEX Shinobi + BLE kit は四半期に一回ぐらいしか電池切れてないからコンビニで電池買ってロッカーに放り込んでおいて解決した
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
T-vK/ESP32-BLE-Keyboard: Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible)
https://github.com/T-vK/ESP32-BLE-Keyboard
このアカウントは、notestockで公開設定になっていません。
それはそれとして悩んでるときはずっとキーボード触らないし、方策立ったらガーッと文字やコードを脳内からダンプするし、そういう作業でない単純作業とかならそれはそれで端末にコマンドあれこれ打ち込むときだから BLE の接続断で困ったことない気がする
このアカウントは、notestockで公開設定になっていません。
古典論理は集合論に強固に結び付けられた印象を持つ人多そうだけど、集合論は集合論、古典論理は古典論理なので逆に集合論の中にある概念として理解するのもそれはそれで弊害がありそうな
このアカウントは、notestockで公開設定になっていません。