From aa6a415bb728faea12d8db6a4e02f44b60964c52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Sat, 16 May 2026 18:03:53 +0200 Subject: [PATCH] =?UTF-8?q?delete:=20Variable=20`$$`=20=E2=80=94=20r=C3=A9?= =?UTF-8?q?cup=C3=A9rer=20le=20PID=20du=20shell?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../files/cover.png | Bin 24790 -> 0 bytes b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/index.md | 122 ------------------ .../meta.json | 37 ------ .../revisions/0001.md | 15 --- .../revisions/0002.md | 22 ---- 5 files changed, 196 deletions(-) delete mode 100644 b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/files/cover.png delete mode 100644 b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/index.md delete mode 100644 b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/meta.json delete mode 100644 b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0001.md delete mode 100644 b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0002.md diff --git a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/files/cover.png b/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/files/cover.png deleted file mode 100644 index 874756be8c1b274b0d86ef0408f0bf32a23bb369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24790 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 z zIz2YZE%ptLM`VUsvf|QE1QtXWB87)xVOV|t<}2# zdM)!nobOnF2)gC)&{w(A+pX!mlzdNaW;Q8*N%v6X2Ob22{kj;RuWqybg<3-V5xndii$B4@Y#3q32QMXReJUqP{$yn@edJ4*ED|~SY z36yk)<}jFE>^_}OVHEF=aU9x2%)y8d6e<-3Wujcswsa4ergQ zBa7R|uQJyp=^keF_rPORh6Y4FxxZfc4e(e^UH_djkUt~m(I*E^@zXmGsU4?x*CBrj zKEllHz@oIL8LOA@poQ8Ok3e~(mHU1zQVTB)8OyK_#ihqvfz0E?HNqc&f8cqiAnCd$ zZd){RaMFzL@Ww48Z91JB8aTzKXXlM7`ID&SJjby2MoZ-ogVGbv3TnLE=o^vzQKuka^kqFlRUcYH{q4AEgVJt=l9K3e@M z3D{yi5B&#vLAtR!H_$gA8FpKT-rFvB^9LiM7?C#z>h^#<4Si^=+1q7X(76;>XLW_xr0&l2uEZ#_WU`e^XC2H;de*aZ$<00=Q zj~abYCD30`v7u>ITt-aNItKD9wcbdbil8rFR6>iZ>=>Rtw%d0rjg3BNW6>|I$@tgr zSr>fV!Y48^@|DX-%1X{xG6-_yuxO5BMuda72b5Vo1!qCv)T!~E)!b|S;Xa4l+H$U_ zTX!KTIi`^$MfSXh$L^r2J%Ccsvx*4HaOl^r5h0@CO?oz>d$N*Z>+Z-qihBJV@5yOD{wx zd>b1~72V?Exf|Iza!G`=A^*gccBxLvZOB&6&HWYyG-x3=oAS`00bYE%+iDk;o`Aij zh~u%p*q14PWws-uyBJjYe{)z%TIDJ*KT@b}pUc@97?^b^t=Ufe_Iyn-L1dXvF7iOp z3>!*J&E(RN)X~Wr|0ev-2C~6{#7KWdAK<{v`LerINJu?w=g{ymKtA6t#E0Q1Rl4;b4PsoPGVjs01(ZJm9V2km9JEgo82#Pvat73h5 zt6?@BIh2hx0W^scl#-UVb{PMugPleQkNB*rTlOyMNA5$fqllj&RZO`vri9?LiVBBnCRt^ig3GVfj=wHm$gQ}{LM@&BxzH|u8lQp3PVr~s8sM~ zXBN7F@U+}s^5@zq8I=f6IoanQm5QU3r>-oW;fY!D86oJ`{?DvuV9xGef`jh|S67ie z{bO^cLI!>9yS6L)=+|MBPlXO3jjdl*i9a0pi|5g*SvDE~3f4 z7F9P+kgV4T<))PdD*J|1YD8Pp4AgZlv@wVpkIOXrd@?!*aHohWF| z((D~Y=e*cb>DQ2JH}x#6ROaRHio?2nW#(_adt1|sQwhNNg)_N;7 z(Swss&u_0s%WCME2R~l>OfGC@Sz7b`8cgqHeBphfw0(ae`;-Zs@H7;;DZIn$wBROW zR*Sg@_#R)&OBFT(;CoO(MM?e1E3C;S1Ha>M{PrKE7)bie=9WF>NyyG#C5S|QLEc@+ zn>xM6^LUhfb3xzj*-)l<{uf^P8gsHsIhL2|c89N_Tu_D&|Z6KU(rgYvSX(;;x%&v}ooo0H{1+2L{Q z7mbkKc!wX)wwbg(0|NY1Be>DO^*KmwwjDl%yR4}=kynBXkEs(x6r2_4s*Eu^a!UK~ zl=c{JI~;(#Kz6*)xk07eW`&Nmq+lw0tH$Pi^ z&P3}DY5U214wIzdu4i^;N0FtaoqJ~$AlPv_v0nZ2B?FDe!^1ONY(+#wZR#U@_Y$J- zkk$6I8CL z{CB_oIQny)_es9tQp)AN41R2}omd*3N(9K539lF5UP@yL^@`3dQtth+&jc=dL9F^{YGfBS`g? zF15CkT-xdtaD}rSl%n3s=)n`r{0c7$>PHUmhSz<9l(te{kTWQ+c?-+D9*Guxsqub- z%f0yZ+ER~Mh?6>Lv^#xXbqct4a^;@uZE@FWPz^>3E{-m%jNPdH#_#^w%Rf?#0nIN@ z`c>jioci|4n7qMw8@Ph}IW@K>Zn4d4f5MwdxmCojRqg+Ec_ij;=zhD_a-0p1=6SvmMnRX{j zsMp!^ZoRp~>Yzz;KcquX32V}!dX?>Du>G#J(DUuO{{0xv9$$6T;7^5PEQlx9+ltS} zk>>MWqNz`v*^ewntuPkZh&eT;=?~LPfZj*Y-IGpDG!U>%z6^&#o|jf%-Z>jWUXD z6yhKJd4&5+aL^+^H&aRarq@wJ-|%;}w`qZ28GDybI4K}>38-vp(U-)7yPd6c>5(pN zg$KM;=`kIr69g4d;tO|kH{`K{e%^%O4VXJUsnlj-(weVwG+t-1-`Kev?sbhijeha| zi?(i)@Up6g{$by-e!-u8Jp+Hxw!he|HUgboCim6fJofaG?FuX~`FQ%AK|~VIql<}! zMcI3I#cXB5qzzBL{H$8whu4A4DxlrJM zU$Zf@VHl0MIx?L(_UFs3;W85%H&J`eu}Z3sdUwR=?YI^tHm!>sp8he^`4YK%MC3-# zzd1^TUX~HHJ^f?Ybj(EDh%|BY$g)4>qylTV%AU>u#s9oiyhchlVl%OfD?1*Hz*t($ zK2w3@#t-&ulc=XZx6ZxDF_m2Uy2JVfc8v|9w_N}vw#|}AO3i%vGhku)w}|a2sBSesVa88Yo^Vg)aUJ9v z2o2d6WNAi6Nw%ryfJ8+0!hzod67tCjP+_a)q+R^#`pEduSkxo0fH-iPDJk7$5U_XG zZ(0Ypr}_+2VZ(212X{E+d}Y_Pu*5 zFRuiNWcH)tx5C-v+mB#%8?4*5>2kpjlM)i16DFMLzIxT1-SPwZ{iFh3I#OaTKlg(2 z_R@rFbcFQ#Y6|~oY2Tu*0Ty1ag$jd}*1sa%>uB?;GifMI2vY-6xV>!%F0RVX&5^Ai zHdfd#JO@|2Gj}NBAuKThaJL~zuai<13c8sPv=45YG@SqIfwON*(#*Z~XMXaK!TwwT zPk+xq4dx=SN!_YU@l@uD_eP-UpX)ZJe@cHB8vS!vkfJ`}@qn;zNm%#279o>gRJW&MnoWIeL7_g;_8$QGVGe)sA3 z^Do!E-*eCT+;i^zd=5E~kXrrt1+1=FMy%5FBEP_(5t##|u67x_%N*Z5s2k75S0}tx zJLvY^vtpoUiEm~U5q=k}WbTGCI%gY*4g(rEc%k{69XyNZ@-!d>)RBS4BeZ4bXQL?d z-?PD&gB}J0(lt*09uCAmGxVVK2MlUJn|BAPHL;h>F99fwQQ%hl_;!EO`g_m-DIDa0 zPwYv-8kL@H{*v`;R@6Pb@jr!yxRVa(I^tNoY!E{90yh-m0*Z*FsT`xW(yj!d_sVy0 zYJ~rEbWAw8J!zIteB2>WD-8RkZxoUsY^GtY7I4AQr%eEE->N|F!hd^X4Bi5+VQ zDF`1Djq92)G$@YzMM}mT4{~pZxkwqW#m@}XIiA;m^jk>?2>#89V9DtNBlZf@;9`)3 z9+()C&&94#Bf~4_?3( zfP_h4-fZ|+ULP&XHfVpK9Mc1Be}2tIoE+Swwiz?pH(Ury36|HQ(b0sgHEufdY9mJ-3uZ=d)Q(JjiM2-oM zT2w?aFl|}H>@yVw>6(d|S+4^IR2tAW+lcB%#31T9g?4s!fY#QxKFYF742L}V??lzX zhTAk;rAns(+Lf!Vin?~~z?p4PM~c0<6XLmsfSajr2Z~ilb}!ouP*%w~`~w->$Gv`1 zZ(E~o;reHOy;2(2z9g?u73hd=ke8kFgLVTN1-wx#AH#c({UvcNn?{ttW>a$lm53V9 zFPm1;vA!^b!8#o<0F}PCx-qXr;Nx*Zf;{pcql8V8lirrwJ4sEBP6`rVZa1~mW088i z0kKj(YxY*jr4x(We#a8v`bWqRuoi%mC*IQJjebCu;hc83QO$!sDDE!c5zL-l2TtC>sqwWf^^>u zvpJT>=oJ_Q-p6qvGkn`~VH2WNmQqYX(Fz(f_^aK=1x?Vx(gu7-baSBN{}M<6D>{-} zsfvlX0)yCFOfmlE_iVzrsUP4!abTmTxnE3QKFN>AeZoC&h`4rzkTThR z$Ud)pXtXrDqC!4xr2t=<@Y=&?c(FQ4G_Itag7b@m(&Fy9X$4)j4|Yy!|FW7t>%LGB zGvADhfCSB1+B@&Rqig6L|CI0{%AON^(00l_tMKR6M!T7Gq4&%D{5S^D@wIYO?XB33 z5GodYLI?$=PS4-IV4o?MVxe0JBv($&v&uNCX)I;b_g@%EWxeS3 zi+FBwmF25yz%OQhPds@lzxeemZqSJKs>O927o=Yenh^P8V$gT{p0YtzQBBGy+w$#} za7S$|Zs(F-Ca_s%F-T-@nFagu*XktuH~I~Mk>R*+6NT=t%ZeVYmakg3do#k@fn-1$U;qq6+8f_wgYKV3XqKP`PpC|u+@)^@Jl96U_{hG{9Bj_y zVWD-|A@Us>T2Pdaj}@5hkWZf1ol`1iH$1%b@Ab@}ndpDZ%-Y|)2)E* zAo%X=*ISeX6%c;Q#H`z#K?4!gGS!K4#UE!(Wo27xQ&S(c=EhkjQZPx{XU-Nb2z`ti z5nY)o$zAfMEq{)kl_WzlixY*YLGnKc=pql!@{YIT7ed2udtmB1L*FlWOKj6sG`b5W zrFgFh)t9xQujI0&8kd%+w{#1prm5K_W~WcObI@;eKH|yllSWQWJUhbk*_PKN%}Q)ZJkIlJ61e>849A1ZKBKoagsG2O;jvSen~U8hGzx`rfbOGz|c{fCigXNn5K_Q z+h))GmK!WE7zTJs-*|h>7ie>wiHmky3=Je3nN-k0=M3?~EbV=8`UK8Tpz+g!Cj1$d zln6j%>C0rJP|>4KC&%7Y3O4P%qeLLEnB1;kzdl?p7+6_aLB>dSNF@qR7;qL-fWJ6+ zHPV9W>@!Xtsy1C^8BVxms%^zRb7K+)6O?{R*w7x|W>;2IsO8;+&cCe<_@cn&=rQ7D zbP?~h0%knQY*}%Z7yZO40_7@$7fhj5A(5;%wIbA6D`wtCe*ePyzcG~DrT4N6s*n2h zuH1LOgai$_sb?Lz*p6oV9VmbV=3BRV;Ei&2RRCIu81j10ML}T3$v9dFk z*VQ{dSZxXt<8S;zADUb4(efHG;z7Re9AK;GmgeO|%=oL`*n=T>5R^sRro2OhmZrOl zgv6k)OFDbJG!x#O&}DHybf0 zC9A{BY#$zy2Pjk9Ssor9pLM7f16Ecx(N=$(j`T!nlt5Z$L9#yKWieR3nruB7XUK;h za~ZFdhAK1Nmk*`HgY;o97{fNaT6{Ve`^W#Z!?X!6qnb$e+e;qJu0GcMg5sfE_nP72 z;I*u=xSR+EY6Jp72sss0Cq8iwROC>GSxvz|5%F6=@+}#IvNZLOic&mM?*uN2&lX61 zeF;3ADr@q>&`UvYgpr(Z!CrxuqTylcNsr9Yd+fmr6(Q{RyP;`)y+zMYL$VLk;D6zwgGguB*&j5%zo{;XkGU zz`*~}RN7CqtJnB+rE}y3FW7c=A?R$qs{_q_0#fStKE;!-8E!E1bNesw6H z`uJofKZ+qR7$2f05c?!+G+@(4>6mf-hNjg95%gEZ1GpUfFjhK_Js+RFO^!BMsV--1-&BepPBLC|ijJP+Ek0k$+3XE>=0LYcO&Nk|o*Ns8o`T68@FC;#qN*{0$C9@GoaB zUH@@3<-S~a^-*e#h4!*%fqUCco?qMsr;kFsu14~n{*f|#X81nsf}{3_+@u`n&v!n9g^T1os%&-M_M7+7i;us? zh7FRyN$E0boInonPtsTscT_^4@U4KY|7ayfe@H9Hz(N(UlrLRGNcqI@6$S=I*-OVH zMMahH;cqF-sPo^y@~=&qdY1Z=);jy<*Ga(s0MxV4jid>;!MMTh*4*b{?L%-KPSUlk zj?l~Ifz(v z4LT-jE&g5E(4u9a>DY@G9j7fcf~8dD-zCyPXtR}zO8PzJpFOaA1nLw#$oACB`&Nm7 zZ_F-_KzD!MMAX|U^M^--Lw&WEzSiab-Xi<3BoKDdB@s9SOBB$x{HxM^aiW5c!d9>iFT zfV>`5JLIuXn(XYIPWJ9u4#W{t*?bqC>OjV~FYVdP&n?Lap=@uyIP6LXJFQ>Pw^t#|!7dEfnk2)prAe-JwkC`ab(5#K|C7X_^Bl2mFk+#&* zn8{Wr`yrB_&5P$)f3sH?$yGWKi+GZT^H>N)HHh^YL4jKr8R&hP;)8vA2m9Fk^1_a9 zH|A`*KZ&XCZz=9zD{X!rSfdm;?Kkoh2zf<;+!?e!V34a<>AtA|glP4jrx@?A3PDcq&xZd5# zHeyb_xGr&2f{H$P|KSayt+W%o2tgoB<#(N@OHmnr9uB7=uOiTu#bVB^Nz&FbCe$*C z-hSvI&xf;z2Z218+hyU}yexOzQ|&CaCEhV|PNLoX<&5bsgMdsKn!sc{W_E$r_wC&3 zi04z?5r0Crr$HU9l}r4xU<=KcoQ&EhneQ#B*$F%#UPQGa^4(px@sCvUJ0Xj4<^29CyayFq= zh?=xl+XH-yh1oMPneP)XT7LFmk(G&Um<~5FMJp^YF&-piyTWm%{D%@ORq(>qmSU{$ zOIAZuQz}Rip+v{W%^>x#v$LaM7qG~`I9YEdFp*qA`z3mKc*f=CrhF+q;>|o6Xs>T+ z9FBe+H)Qr1l;(zV91t*B_;XJ z!xh9+6WE^4?!ojod;cBbBK%9Ye@Kgs$*g!dnOO;k0{Xf#@=5_dH+xzp6H$pOm@C3I1Q;M_hY$S-JvbX zSCEG7boChvIXczcQHwQ?CUx4ztXz3odVN*B+97W)0%j9@!j~|bXu1>BM3O_Wx zopr)Ypc;zC_D}cxuE-8KQx{@zpu37Cxbz7TfyYo!hq{S4pK>&BeqE;9Lo-o3Yp0Rr zMX8l9q17g^T7CV{A4Hd-*#8b4`t`?|uGMtZ+XnF8eR;4Se}Ig*J+P}D4tMY$?0232 z{AK);)jAvaHV`&U`ixh9)dvQez#orIC5+xZIBtEO0NgW9@?%L!ueig_E@5%H1@dE| zQ8(WBqa^)?tp+m?^PCWf8s4ghvYuXFB=I+APcN@Zgq{nkksv8jARgh+d0|5#$Huu+ ze=_Em?n?z)gew@q^Xb@}HUik#Hq1=f(oS~j*ZN0Co%=@yga-x(k7>fNcpq*;&bb;O YVqT`-x7mM^Lcq_1`?~i^R4ju33o`oka{vGU diff --git a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/index.md b/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/index.md deleted file mode 100644 index c1619da..0000000 --- a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/index.md +++ /dev/null @@ -1,122 +0,0 @@ -# Variable `$$` — récupérer le PID du shell - -La variable spéciale `$$` renvoie le **PID** (*Process IDentifier*) du shell courant, c'est-à-dire le numéro unique qu'attribue le système d'exploitation à chaque processus en cours d'exécution. Cette variable est particulièrement utile dans plusieurs situations courantes que nous allons détailler ci-dessous. - -## À quoi sert concrètement `$$` ? - -### 1. Générer des noms de fichiers temporaires uniques - -Quand un script crée un fichier temporaire, il faut éviter les collisions si plusieurs instances du script tournent en même temps. Utiliser `$$` dans le nom garantit l'unicité : - -```bash -#!/bin/bash -# Création d'un fichier temporaire propre à cette exécution -TMPFILE="/tmp/monscript.$$.tmp" -echo "Données de travail" > "$TMPFILE" -echo "Fichier temporaire créé : $TMPFILE" -# Affichera par exemple : /tmp/monscript.17601.tmp -``` - -Si deux utilisateurs lancent le script simultanément, l'un aura `/tmp/monscript.17601.tmp` et l'autre `/tmp/monscript.18422.tmp` — pas de conflit possible. - -### 2. Tracer un script dans les logs - -Lorsqu'un script écrit dans un journal commun, préfixer chaque ligne par le PID permet de distinguer les exécutions parallèles : - -```bash -#!/bin/bash -echo "[$$] Démarrage du script à $(date)" >> /var/log/monscript.log -echo "[$$] Traitement en cours..." >> /var/log/monscript.log -echo "[$$] Fin du script" >> /var/log/monscript.log -``` - -Résultat dans le log : -``` -[17601] Démarrage du script à Sat May 16 14:23:01 CEST 2026 -[17601] Traitement en cours... -[17601] Fin du script -``` - -On peut ensuite filtrer une exécution particulière avec `grep "\[17601\]" /var/log/monscript.log`. - -### 3. Créer un fichier de verrou (*lock file*) - -Pour empêcher deux instances d'un script de tourner en même temps, on écrit son PID dans un fichier de verrou : - -```bash -#!/bin/bash -LOCKFILE="/tmp/monscript.lock" - -if [ -e "$LOCKFILE" ]; then - echo "Script déjà en cours (PID $(cat $LOCKFILE)). Abandon." - exit 1 -fi - -echo $$ > "$LOCKFILE" # On enregistre notre PID -trap "rm -f $LOCKFILE" EXIT # On nettoie à la sortie - -echo "Travail en cours sous le PID $$..." -sleep 30 -``` - -## Particularité dans les sous-shells - -`$$` conserve **toujours** la valeur du shell **parent**, même lorsqu'elle est évaluée dans un sous-shell `( … )`. C'est un piège classique : on pourrait croire que le sous-shell, étant un nouveau processus, aurait son propre PID via `$$` — ce n'est pas le cas. - -Pour obtenir le PID réel du processus Bash en cours d'exécution, Bash propose la variable `$BASHPID`. - -### Exemple comparatif - -```bash -~ $ echo $$ -17601 -~ $ ( echo $$; echo $BASHPID ) -17601 -17634 -``` - -Dans l'exemple ci-dessus : -- `$$` affiche `17601` dans les deux cas : c'est le PID du shell interactif d'origine, conservé même à l'intérieur des parenthèses. -- `$BASHPID` affiche `17634` : c'est le PID du sous-shell réellement créé par les parenthèses. - -### Exemple plus parlant avec plusieurs niveaux de sous-shells - -```bash -~ $ echo "Shell principal : \$\$=$$ \$BASHPID=$BASHPID" -Shell principal : $$=17601 $BASHPID=17601 - -~ $ ( echo "Sous-shell 1 : \$\$=$$ \$BASHPID=$BASHPID" - ( echo "Sous-shell 2 (imbriqué) : \$\$=$$ \$BASHPID=$BASHPID" ) - ) -Sous-shell 1 : $$=17601 $BASHPID=17634 -Sous-shell 2 (imbriqué) : $$=17601 $BASHPID=17699 -``` - -On voit clairement que : -- `$$` reste figé à `17601` (le shell de départ) dans tous les contextes. -- `$BASHPID` change à chaque niveau d'imbrication : `17634` pour le premier sous-shell, `17699` pour le second. - -### Cas pratique : pourquoi cette distinction est importante - -Imaginons qu'on veuille créer un fichier temporaire propre à un sous-shell : - -```bash -~ $ ( TMP="/tmp/sub.$$.txt" - echo "fichier = $TMP" - TMP_REAL="/tmp/sub.$BASHPID.txt" - echo "fichier réel = $TMP_REAL" - ) -fichier = /tmp/sub.17601.txt # ⚠️ même nom que le shell parent ! -fichier réel = /tmp/sub.17634.txt # ✅ vraiment unique au sous-shell -``` - -Si plusieurs sous-shells utilisent `$$`, ils écrivent tous dans le même fichier — ce qui peut provoquer des écrasements de données. Avec `$BASHPID`, chaque sous-shell a son propre fichier. - -## À retenir - -| Variable | Valeur retournée | -|-------------|-----------------------------------------------------| -| `$$` | PID du shell **de référence** (le shell d'origine) | -| `$BASHPID` | PID du processus Bash **réellement en cours** | - -Dans un shell standard sans sous-shell, les deux valeurs sont identiques. La différence n'apparaît qu'à l'intérieur de `( … )`, et c'est précisément là qu'il faut savoir laquelle utiliser selon l'effet recherché. \ No newline at end of file diff --git a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/meta.json b/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/meta.json deleted file mode 100644 index c24e389..0000000 --- a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/meta.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "uuid": "b9f0369a-2823-4af4-819c-3a1fc0cf2b8c", - "slug": "symbole-double-et-commercial-2", - "title": "Variable `$$` — récupérer le PID du shell", - "author": "cedric@abonnel.fr", - "published": true, - "featured": false, - "published_at": "2023-01-09 22:35", - "created_at": "2023-01-09 22:35:09", - "updated_at": "2026-05-16 16:01:11", - "revisions": [ - { - "n": 1, - "date": "2026-05-16 15:59:20", - "comment": "Titre modifié, tags modifiés, contenu modifié, image de couverture modifiée", - "title": "Paramètre && - retour du PID" - }, - { - "n": 2, - "date": "2026-05-16 16:01:11", - "comment": "Contenu modifié", - "title": "Variable `$$` — récupérer le PID du shell" - } - ], - "cover": "cover.png", - "files_meta": [], - "external_links": [], - "seo_title": "", - "seo_description": "", - "og_image": "https://www.abonnel.fr/file?uuid=b9f0369a-2823-4af4-819c-3a1fc0cf2b8c&name=cover.png", - "category": "Informatique", - "tags": { - "tags": [ - "Bash" - ] - } -} diff --git a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0001.md b/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0001.md deleted file mode 100644 index 995fc37..0000000 --- a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0001.md +++ /dev/null @@ -1,15 +0,0 @@ -# Paramètre && - retour du PID - -![](logo_bash.png) - -Affiche le numéro de process de l’exécution de la ligne de commande en cours. Synonyme de PID, Process IDentification en cours. - -Dans un programme BASH, on peut récupérer le numéro du process de l'enfant avec la variable $BASHPID - -``` -~ $ echo $$ -17601 -~ $ ( echo $$; echo $BASHPID ) -17601 -17634 -``` \ No newline at end of file diff --git a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0002.md b/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0002.md deleted file mode 100644 index da13542..0000000 --- a/b9f0369a-2823-4af4-819c-3a1fc0cf2b8c/revisions/0002.md +++ /dev/null @@ -1,22 +0,0 @@ -# Variable `$$` — récupérer le PID du shell - -La variable spéciale `$$` renvoie le **PID** (*Process IDentifier*) du shell courant. Elle est utile pour générer des noms de fichiers temporaires uniques, tracer un script dans les logs ou créer un fichier de verrou. - -## Particularité dans les sous-shells - -`$$` conserve toujours la valeur du shell **parent**, même lorsqu'elle est évaluée dans un sous-shell `( … )`. Pour obtenir le PID réel du processus en cours d'exécution, Bash propose la variable `$BASHPID`. - -``` -~ $ echo $$ -17601 -~ $ ( echo $$; echo $BASHPID ) -17601 -17634 -``` - -Dans l'exemple ci-dessus : - -- `$$` affiche `17601` dans les deux cas : c'est le PID du shell interactif d'origine. -- `$BASHPID` affiche `17634` : c'est le PID du sous-shell créé par les parenthèses. - -Retenir la différence : **`$$` = PID du shell de référence**, **`$BASHPID` = PID du processus Bash réellement en cours**. \ No newline at end of file